forked from root/public
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.
44 lines
1.2 KiB
44 lines
1.2 KiB
4 years ago
|
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')
|
||
|
})
|