From 9b09d150dd91b218d875aba122feaef78ee04df2 Mon Sep 17 00:00:00 2001 From: oumaimafisaoui Date: Sun, 21 Jul 2024 20:50:24 +0100 Subject: [PATCH] Test(DPxAI): Add test to Quest00/Ex06 --- dom/move-it.js | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 dom/move-it.js diff --git a/dom/move-it.js b/dom/move-it.js new file mode 100644 index 000000000..a9e25ffb2 --- /dev/null +++ b/dom/move-it.js @@ -0,0 +1,43 @@ +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') +})