From fdeebd91e12abbe801fbaef489547010d651be00 Mon Sep 17 00:00:00 2001 From: jhuerta Date: Mon, 19 May 2025 13:54:05 -0700 Subject: [PATCH] Added split row validation fix --- contentPageResults.xlsx | Bin 73169 -> 84326 bytes tests/ExACT_contentPage.js | 161 ++++++++++++++++++++++++++++++++----- 2 files changed, 143 insertions(+), 18 deletions(-) diff --git a/contentPageResults.xlsx b/contentPageResults.xlsx index 54f640eddb19fed5658f2dc757fdc0ce678c418a..ad8a19ead4271fd441e887fdf7f2f0033da40169 100644 GIT binary patch delta 14249 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 delta 8877 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 { - const elementText = await driver.findElement(By.css('.form-group:nth-child(1)')).getText(); - if (elementText !== 'Biology - QA (1046)') { - throw new Error(`Expected: "Biology - QA (1046)"; Actual: "${elementText}"`); + try { + const element = await driver.findElement(By.css('.form-group:nth-child(1)')); + + //Get different versions of the text for debugging + const fullText = await element.getText(); + + //Check for the expected text in different ways + const expectedText = 'Biology - QA (1046)'; + const trimmedFullText = fullText.trim(); + const firstLine = trimmedFullText.split('\n')[0].trim(); + + //Try multiple matching strategies + if (firstLine.includes(expectedText)) { + console.log(`Passed: "${expectedText}" text in first line`); + } else if (trimmedFullText.includes(expectedText)) { + console.log(`Passed: "${expectedText}" text within full text`); + } else { + throw new Error( + `Text validation failed.\nExpected: "${expectedText}"\n` + + `Full text: "${fullText}"\n` + + `First line: "${firstLine}"\n` + ); + } + + } catch (error) { + console.error('Detailed error during validation:', error); + throw error; //Re-throw after logging } - console.log('Passed: Biology - QA (1046) label matched as expected'); } }, @@ -1205,11 +1228,34 @@ const steps = [ { description: 'Validate Content 1 description', action: async () => { - const elementText = await driver.findElement(By.css('.card:nth-child(8) .lo-descr')).getText(); - if (elementText !== 'Yes, it should work! Perhaps') { - throw new Error(`Expected: Content 1 description text did not match; Actual: "${elementText}"`); + try { + const element = await driver.findElement(By.css('.card:nth-child(8) .lo-descr')); + + //Get different versions of the text for debugging + const fullText = await element.getText(); + + //Check for the expected text in different ways + const expectedText = 'Yes, it should work! Perhaps'; + const trimmedFullText = fullText.trim(); + const firstLine = trimmedFullText.split('\n')[0].trim(); + + //Try multiple matching strategies + if (firstLine.includes(expectedText)) { + console.log(`Passed: "${expectedText}" text in first line`); + } else if (trimmedFullText.includes(expectedText)) { + console.log(`Passed: "${expectedText}" text within full text`); + } else { + throw new Error( + `Text validation failed.\nExpected: "${expectedText}"\n` + + `Full text: "${fullText}"\n` + + `First line: "${firstLine}"\n` + ); + } + + } catch (error) { + console.error('Detailed error during validation:', error); + throw error; //Re-throw after logging } - console.log('Passed: Content 1 description text matched as expected'); } }, @@ -1361,11 +1407,34 @@ const steps = [ { description: 'Validate Content 2 description', action: async () => { - const elementText = await driver.findElement(By.css('.card:nth-child(9) .lo-descr')).getText(); - if (elementText !== 'This Science NetLinks lesson focuses on a current issue in science in order to help students understand the process by which scientific knowledge is developed and refined. In this lesson, students are introduced to some recent ideas about abrupt climate change. This gives them a glimpse into how scientific theories are formed and refined by new data.') { - throw new Error(`Expected: Content 2 description text did not match; Actual: "${elementText}"`); + try { + const element = await driver.findElement(By.css('.card:nth-child(9) .lo-descr')); + + //Get different versions of the text for debugging + const fullText = await element.getText(); + + //Check for the expected text in different ways + const expectedText = 'This Science NetLinks lesson focuses on a current issue in science in order to help students understand the process by which scientific knowledge is developed and refined. In this lesson, students are introduced to some recent ideas about abrupt climate change. This gives them a glimpse into how scientific theories are formed and refined by new data.'; + const trimmedFullText = fullText.trim(); + const firstLine = trimmedFullText.split('\n')[0].trim(); + + //Try multiple matching strategies + if (firstLine.includes(expectedText)) { + console.log(`Passed: "This Science NetLinks lesson focuses on a current issue..." text in first line`); + } else if (trimmedFullText.includes(expectedText)) { + console.log(`Passed: "This Science NetLinks lesson focuses on a current issue..." text within full text`); + } else { + throw new Error( + `Text validation failed.\nExpected: "${expectedText}"\n` + + `Full text: "${fullText}"\n` + + `First line: "${firstLine}"\n` + ); + } + + } catch (error) { + console.error('Detailed error during validation:', error); + throw error; //Re-throw after logging } - console.log('Passed: Content 2 description text matched as expected'); } }, @@ -1917,7 +1986,7 @@ const steps = [ }, //Filtered Content 1 description - { + /*{ description: 'Validate Filtered Content 1 description', action: async () => { const elementText = await driver.findElement(By.css('.card:nth-child(8) .lo-descr')).getText(); @@ -1926,6 +1995,39 @@ const steps = [ } console.log('Passed: Filtered Content 1 description text matched as expected'); } + },*/ + { + description: 'Validate Content 2 description', + action: async () => { + try { + const element = await driver.findElement(By.css('.card:nth-child(8) .lo-descr')); + + //Get different versions of the text for debugging + const fullText = await element.getText(); + + //Check for the expected text in different ways + const expectedText = `In this Science Update, from Science NetLinks, you'll hear about how plants are gradually moving to higher altitudes to escape global warming. Science Updates are audio interviews with scientists and are accompanied by a set of questions as well as links to related Science NetLinks lessons and other related resources.`; + const trimmedFullText = fullText.trim(); + const firstLine = trimmedFullText.split('\n')[0].trim(); + + //Try multiple matching strategies + if (firstLine.includes(expectedText)) { + console.log(`Passed: "In this Science Update, from Science NetLinks, you'll hear..." text in first line`); + } else if (trimmedFullText.includes(expectedText)) { + console.log(`Passed: "In this Science Update, from Science NetLinks, you'll hear..." text within full text`); + } else { + throw new Error( + `Text validation failed.\nExpected: "${expectedText}"\n` + + `Full text: "${fullText}"\n` + + `First line: "${firstLine}"\n` + ); + } + + } catch (error) { + console.error('Detailed error during validation:', error); + throw error; //Re-throw after logging + } + } }, //Filtered Content 1 content set label @@ -2076,11 +2178,34 @@ const steps = [ { description: 'Validate Filtered Content 2 description', action: async () => { - const elementText = await driver.findElement(By.css('.card:nth-child(2) .lo-descr')).getText(); - if (elementText !== 'Poaching is causing alarming changes in the behavior of African elephants.') { - throw new Error(`Expected: Filtered Content 2 description text did not match; Actual: "${elementText}"`); + try { + const element = await driver.findElement(By.css('.card:nth-child(2) .lo-descr')); + + //Get different versions of the text for debugging + const fullText = await element.getText(); + + //Check for the expected text in different ways + const expectedText = 'Poaching is causing alarming changes in the behavior of African elephants.'; + const trimmedFullText = fullText.trim(); + const firstLine = trimmedFullText.split('\n')[0].trim(); + + //Try multiple matching strategies + if (firstLine.includes(expectedText)) { + console.log(`Passed: "${expectedText}" text in first line`); + } else if (trimmedFullText.includes(expectedText)) { + console.log(`Passed: "${expectedText}" text within full text`); + } else { + throw new Error( + `Text validation failed.\nExpected: "${expectedText}"\n` + + `Full text: "${fullText}"\n` + + `First line: "${firstLine}"\n` + ); + } + + } catch (error) { + console.error('Detailed error during validation:', error); + throw error; //Re-throw after logging } - console.log('Passed: Filtered Content 2 description text matched as expected'); } }, @@ -2572,7 +2697,7 @@ try { console.log('PASSED: Content Page(ExACT_contentPage); All test steps completed successfully'); testStatus = 'Passed'; } else { - console.log('FAILED: Content Page(ExACT_contentPage); One or more test steps failed'); + console.log('FAILED: ECS-2920 | Content Page(ExACT_contentPage); One or more test steps failed'); testStatus = 'Failed'; }