export const tests = [] tests.push(async ({ eq, page }) => { // check the initial class name of the eye left const eyeLeft = await page.$eval('#eye-left', (node) => node.className) eq(eyeLeft, 'eye') // check that the text of the button says 'close' const buttonText = await page.$eval('button', (node) => node.textContent) eq(buttonText, 'Click to close the left eye') }) tests.push(async ({ eq, page }) => { // click the button to close the left eye const button = await page.$('button') button.click() // check that the class has been added await page.waitForSelector('#eye-left.eye.eye-closed', { timeout: 150 }) // check the background color has changed await eq.$('#eye-left.eye.eye-closed', { style: { backgroundColor: 'black' }, }) // check that the text of the button changed to 'open' await eq.$('button', { textContent: 'Click to open the left eye' }) }) tests.push(async ({ eq, page }) => { // click the button a second time to open the left eye const button = await page.$('button') button.click() // check that the class has been removed await page.waitForSelector('#eye-left.eye:not(.eye-closed)', { timeout: 150 }) // check the background color has changed await eq.$('#eye-left.eye:not(.eye-closed)', { style: { backgroundColor: 'red' }, }) // check that the text of the button changed to 'close' await eq.$('button', { textContent: 'Click to close the left eye' }) })