mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.2 KiB
43 lines
1.2 KiB
export const tests = [] |
|
|
|
tests.push(async ({ eq, page }) => { |
|
// check the JS script has been linked |
|
await eq.$('script', { type: 'module' }) |
|
|
|
// check the JS script has a valid src |
|
const source = await page.$eval( |
|
'script', |
|
(node) => node.src.includes('.js') && node.src, |
|
) |
|
if (!source.length) throw Error('missing script src') |
|
}) |
|
|
|
tests.push(async ({ eq, page }) => { |
|
// check the class 'eye-closed' has been added in the CSS |
|
eq.css('.eye-closed', { |
|
height: '4px', |
|
padding: '0px 5px', |
|
borderRadius: '10px', |
|
}) |
|
}) |
|
|
|
tests.push(async ({ eq, page }) => { |
|
// check the class of left eye before the JS is loaded |
|
await page.setJavaScriptEnabled(false) |
|
await page.reload() |
|
await eq.$('p#eye-left', { className: 'eye' }) |
|
}) |
|
|
|
tests.push(async ({ eq, page }) => { |
|
// check the class of left eye has been updated after the JS is loaded |
|
await page.setJavaScriptEnabled(true) |
|
await page.reload() |
|
await eq.$('p#eye-left', { className: 'eye eye-closed' }) |
|
|
|
// check the background color of left eye has changed after the JS is loaded |
|
const eyeLeftBg = await page.$eval( |
|
'#eye-left', |
|
(node) => node.style.backgroundColor, |
|
) |
|
eq(eyeLeftBg, 'black') |
|
})
|
|
|