forked from freeCodeCamp/freeCodeCamp
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor: use a different approach to visually hide input elements (f…
- Loading branch information
1 parent
3ce08ba
commit 2dcbda7
Showing
3 changed files
with
49 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
import { test, expect } from '@playwright/test'; | ||
|
||
import translations from '../client/i18n/locales/english/translations.json'; | ||
|
||
test.describe('Template Challenges Show', () => { | ||
test.beforeEach(async ({ page }) => { | ||
await page.goto( | ||
'/learn/foundational-c-sharp-with-microsoft/write-your-first-code-using-c-sharp/write-your-first-c-sharp-code' | ||
); | ||
}); | ||
|
||
test.afterEach(async ({ page }) => { | ||
await page.close(); | ||
}); | ||
|
||
test('should display a success dialog when the user submits the form, and they have completed the quiz and the assignments correctly', async ({ | ||
page | ||
}) => { | ||
// Tick the assignment box | ||
await page.getByRole('checkbox').check(); | ||
|
||
// Find and click the third quiz option, which is the correct answer. | ||
// Set `force: true` to bypass Playwright's check | ||
// as the radio is visually hidden and the click event is intercepted by the `span` element. | ||
const quizOptions = await page.getByRole('radio').all(); | ||
await quizOptions[2].check({ force: true }); | ||
|
||
await page | ||
.getByRole('button', { name: translations.buttons['check-answer'] }) | ||
.click(); | ||
|
||
await expect( | ||
page.getByText(translations.learn['assignment-not-complete']) | ||
).not.toBeVisible(); | ||
|
||
await expect( | ||
page.getByText(translations.learn['wrong-answer']) | ||
).not.toBeVisible(); | ||
|
||
// There are two elements with the `dialog` role in the DOM. | ||
// This appears to be semantically incorrect and should be resolved | ||
// once we have migrated the component to use Dialog from the `ui-components` library. | ||
expect(page.getByRole('dialog').all()).toBeTruthy(); | ||
await expect( | ||
page.getByRole('button', { name: translations.buttons['go-to-next'] }) | ||
).toBeVisible(); | ||
}); | ||
}); |