Compare commits

...

10 Commits

Author SHA1 Message Date
jhuerta
10840ac188 Add dashboard and My Standards search tests; update existing tests and results
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 15:27:11 -07:00
c4d68d5a13 Added My Standards widget 2026-04-07 15:12:05 -07:00
d4cd0417f4 Updated ULR to prod 2026-04-07 15:09:03 -07:00
fb242c097e Checked in results 2026-04-07 15:04:20 -07:00
f12bea0876 Checked in results 2026-04-07 15:01:58 -07:00
9488a04d52 Checked in results 2026-04-07 14:54:02 -07:00
cc718411d0 Checked in results 2026-04-07 14:52:58 -07:00
65445ac8f8 Checked in landing page result sheet 2026-04-07 14:51:44 -07:00
2d9c0b0806 Revamped script 2026-04-07 14:50:12 -07:00
72bd36bb77 Revampted script 2026-04-07 13:43:19 -07:00
21 changed files with 68276 additions and 6975 deletions

2
.gitignore vendored
View File

@@ -1,2 +1,4 @@
node_modules
screenshots
.vscode/
.claude/

Binary file not shown.

BIN
dashboard.xlsx Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,9 +1,14 @@
import express from 'express';
import ExACT_landingPage from './tests/ExACT_landingPage.js';
import ExACT_login from './tests/ExACT_login.js';
//import ExACT_login from './tests/ExACT_login.js';
//Dashboard
import ExACT_dashboardMyContent from './tests/ExACT_DashboardMyContent.js';
import ExACT_dashboard from './tests/ExACT_dashboard.js';
import ExACT_dashboardMyContent from './tests/ExACT_dashboardMyContent.js';
import ExACT_dashboardSemanticStandardsComparison from './tests/ExACT_dashboardSemanticStandardsComparison.js';
import dashboardMyStandards from './tests/dashboardMyStandards.js';
import myStandardsSearchAlignedContent from './tests/myStandardsSearchAlignedContent.js';
import myStandardsSearchRelatedStandards from './tests/myStandardsSearchRelatedStandards.js';
//Content
import ExACT_contentPage from './tests/ExACT_contentPage.js';
import ExACT_editItem from './tests/ExACT_editItem.js';
@@ -28,32 +33,34 @@ app.get('/', (req, res) => {
<h1 style="text-align:center; color:#055a8c; padding-top: 20px;">ExACT Automated Regression Scripts</h1>
<div style="text-align:center; color:#001; font-size:15px; ">(Click the corresponding link to execute the desired script)</div>
<br><div style="padding:3px;"><strong><a href='/ExACT_landingPage' target='_blank'>ExACT Landing Page</a></strong></div>
<br><div style="padding:3px;"><strong><a href='/ExACT_login' target='_blank'>Login</a></strong></div>
<h1 style="text-align:center; color:#055a8c; font-size:20px; ">EDGATE LANDING PAGE</h1>
<div style="padding:3px;"><strong><a href='/ExACT_landingPage' target='_blank'>ExACT Landing Page</a></strong></div>
<h1 style="text-align:center; color:#055a8c; font-size:20px; ">DASHBOARD</h1>
<div style="padding:3px;"><strong><a href='/ExACT_dashboard' target='_blank'>Correlations Dashboard</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_dashboardMyContent' target='_blank'>My Content Widget</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_dashboardSemanticStandardsComparison' target='_blank'>Semantic Standards Comparison Widget</a></strong></div>
<div style="padding:3px;"><strong><a href='/dashboardMyStandards' target='_blank'>My Standards Widget</a></strong></div>
<div style="padding:3px;"><strong><a href='/myStandardsSearchAlignedContent' target='_blank'>My Standards Search - Aligned Content</a></strong></div>
<div style="padding:3px;"><strong><a href='/myStandardsSearchRelatedStandards' target='_blank'>My Standards Search - Related Standards</a></strong></div>
<h1 style="text-align:center; color:#055a8c; font-size:20px; ">CONTENT</h1>
<div style="padding:3px;"><strong><a href='/ExACT_contentPage' target='_blank'>Content Page</a></strong></div>
<br><div style="padding:3px;"><strong><a href='/ExACT_editItem' target='_blank'>Edit Item</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_editItem' target='_blank'>Edit Item</a></strong></div>
<h1 style="text-align:center; color:#055a8c; font-size:20px; ">ALIGN</h1>
<div style="padding:3px;"><strong><a href='/ExACT_alignContentPage' target='_blank'>Align Content Page</a></strong></div>
<br><div style="padding:3px;"><strong><a href='/ExACT_editItemAddConcept' target='_blank'>Align - Edit Content and Align Concept</a></strong></div>
<br><div style="padding:3px;"><strong><a href='/ExACT_alignStandardsPage' target='_blank'>Align Standards Page</a></strong></div>
<br><div style="padding:3px;"><strong><a href='/ExACT_alignConceptsPage' target='_blank'>Align Concepts Page</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_editItemAddConcept' target='_blank'>Align - Edit Content and Align Concept</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_alignStandardsPage' target='_blank'>Align Standards Page</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_alignConceptsPage' target='_blank'>Align Concepts Page</a></strong></div>
<h1 style="text-align:center; color:#055a8c; font-size:20px; ">FRAMEWORKS</h1>
<div style="padding:3px;"><strong><a href='/ExACT_frameworkManagementPage' target='_blank'>Framework Management Page</a></strong></div>
<br><div style="padding:3px;"><strong><a href='/ExACT_frameworkPublishingPage' target='_blank'>Framework Publishing Page</a></strong></div>
<br><div style="padding:3px;"><strong><a href='/ExACT_frameworkPublishFrameworkDIV' target='_blank'>Publish Framework DIV</a></strong></div>
<br><div style="padding:3px;"><strong><a href='/ExACT_frameworkFrameworkGroupsDIV' target='_blank'>Framework Groups DIV</a></strong></div>
<br><div style="padding:3px;"><strong><a href='/ExACT_frameworkFrameworkSettingsDIV' target='_blank'>Framework Settings DIV</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_frameworkPublishingPage' target='_blank'>Framework Publishing Page</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_frameworkPublishFrameworkDIV' target='_blank'>Publish Framework DIV</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_frameworkFrameworkGroupsDIV' target='_blank'>Framework Groups DIV</a></strong></div>
<div style="padding:3px;"><strong><a href='/ExACT_frameworkFrameworkSettingsDIV' target='_blank'>Framework Settings DIV</a></strong></div>
<br>
</div>
`);
@@ -62,10 +69,15 @@ app.get('/', (req, res) => {
//Landing:
app.get('/ExACT_landingPage', ExACT_landingPage);
//Login
app.get('/ExACT_login', ExACT_login);
//app.get('/ExACT_login', ExACT_login);
//Dashboard
app.get('/ExACT_dashboard', ExACT_dashboard);
//My Content
app.get('/ExACT_dashboardMyContent', ExACT_dashboardMyContent);
app.get('/ExACT_dashboardSemanticStandardsComparison', ExACT_dashboardSemanticStandardsComparison);
app.get('/dashboardMyStandards', dashboardMyStandards);
app.get('/myStandardsSearchAlignedContent', myStandardsSearchAlignedContent);
app.get('/myStandardsSearchRelatedStandards', myStandardsSearchRelatedStandards);
//Content
app.get('/ExACT_contentPage', ExACT_contentPage);
//Edit Item
@@ -81,6 +93,7 @@ app.get('/ExACT_contentPage', ExACT_contentPage);
app.get('/ExACT_frameworkPublishFrameworkDIV', ExACT_frameworkPublishFrameworkDIV);
app.get('/ExACT_frameworkFrameworkGroupsDIV', ExACT_frameworkFrameworkGroupsDIV);
app.get('/ExACT_frameworkFrameworkSettingsDIV', ExACT_frameworkFrameworkSettingsDIV);
app.listen(8000, () => {
console.log('Server is up and running on port 8000');
});

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

5596
tests/ExACT_dashboard.js Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -55,10 +55,11 @@ const steps = [
action: async () => {
const element = await driver.findElement(By.css('.e-heading'));
//Get text, color, and size
//Get text, font, size, and color
const elementText = await element.getText();
const elementColor = await element.getCssValue('color');
const elementFont = await element.getCssValue('font-family');
const elementSize = await element.getCssValue('font-size');
const elementColor = await element.getCssValue('color');
//Track all errors
const errors = [];
@@ -71,6 +72,14 @@ const steps = [
errors.push(message);
}
//Validate font
if (elementFont === 'Poppins, sans-serif') {
console.log('Passed: Dashboard - Page title text font matched as expected');
} else {
const message = `Expected: Dashboard - Page title text font "Poppins, sans-serif"; Actual: "${elementFont}"`;
errors.push(message);
}
//Validate color -navy blue
if (elementColor === 'rgba(40, 39, 90, 1)') {
console.log('Passed: Dashboard - Page title text color matched as expected');
@@ -122,10 +131,11 @@ const steps = [
action: async () => {
const element = await driver.findElement(By.css('.standards-compare h2'));
//Get text, color, and size
//Get text, font, size, and color
const elementText = await element.getText();
const elementColor = await element.getCssValue('color');
const elementFont = await element.getCssValue('font-family');
const elementSize = await element.getCssValue('font-size');
const elementColor = await element.getCssValue('color');
//Track all errors
const errors = [];
@@ -138,6 +148,22 @@ const steps = [
errors.push(message);
}
//Validate font
if (elementFont === 'Poppins, sans-serif') {
console.log('Passed: Dashboard - Semantic Standards Comparison Widget title font matched as expected');
} else {
const message = `Expected: Dashboard - Semantic Standards Comparison Widget title font "Poppins, sans-serif"; Actual: "${elementFont}"`;
errors.push(message);
}
//Validate size
if (elementSize === '18px') {
console.log('Passed: Dashboard - Semantic Standards Comparison Widget title text font-size matched as expected');
} else {
const message = `Expected: Dashboard - Semantic Standards Comparison Widget title text font-size "18px"; Actual: "${elementSize}"`;
errors.push(message);
}
//Validate color -navy blue
if (elementColor === 'rgba(40, 39, 90, 1)') {
console.log('Passed: Dashboard - Semantic Standards Comparison Widget title text color matched as expected');
@@ -173,10 +199,11 @@ const steps = [
action: async () => {
const element = await driver.findElement(By.css('#sscMap-tab'));
//Get text, color, and size
//Get text, font, size, and color
const elementText = await element.getText();
const elementColor = await element.getCssValue('color');
const elementFont = await element.getCssValue('font-family');
const elementSize = await element.getCssValue('font-size');
const elementColor = await element.getCssValue('color');
//Track all errors
const errors = [];
@@ -189,6 +216,14 @@ const steps = [
errors.push(message);
}
//Validate font
if (elementFont === 'Poppins, sans-serif') {
console.log('Passed: Dashboard - National Standards tab title font matched as expected');
} else {
const message = `Expected: Dashboard - National Standards tab title font "Poppins, sans-serif"; Actual: "${elementFont}"`;
errors.push(message);
}
//Validate color -navy blue
if (elementColor === 'rgba(40, 39, 90, 1)') {
console.log('Passed: Dashboard - National Standards tab title text color matched as expected');
@@ -224,10 +259,11 @@ const steps = [
action: async () => {
const element = await driver.findElement(By.css('#sscFilterLaunch-tab'));
//Get text, color, and size
//Get text, font, size, and color
const elementText = await element.getText();
const elementColor = await element.getCssValue('color');
const elementFont = await element.getCssValue('font-family');
const elementSize = await element.getCssValue('font-size');
const elementColor = await element.getCssValue('color');
//Track all errors
const errors = [];
@@ -240,6 +276,14 @@ const steps = [
errors.push(message);
}
//Validate font
if (elementFont === 'Poppins, sans-serif') {
console.log('Passed: Dashboard - Custom Comparison tab title font matched as expected');
} else {
const message = `Expected: Dashboard - Custom Comparison tab title font "Poppins, sans-serif"; Actual: "${elementFont}"`;
errors.push(message);
}
//Validate color -gray
if (elementColor === 'rgba(182, 186, 181, 1)') {
console.log('Passed: Dashboard - Custom Comparison tab title color matched as expected');
@@ -413,16 +457,17 @@ const steps = [
}
},
//Dashboard - National Standards tab title, text, and font size (dimmed)
//National Standards tab title, text, and font size (dimmed)
{
description: 'Validate Dashboard - National Standards tab title text, color, and size',
description: 'Validate National Standards tab title text, color, and size',
action: async () => {
const element = await driver.findElement(By.css('#sscMap-tab'));
//Get text, color, and size
//Get text, font, size, and color
const elementText = await element.getText();
const elementColor = await element.getCssValue('color');
const elementFont = await element.getCssValue('font-family');
const elementSize = await element.getCssValue('font-size');
const elementColor = await element.getCssValue('color');
//Track all errors
const errors = [];
@@ -435,6 +480,14 @@ const steps = [
errors.push(message);
}
//Validate font
if (elementFont === 'Poppins, sans-serif') {
console.log('Passed: Dashboard - National Standards tab title font matched as expected');
} else {
const message = `Expected: Dashboard - National Standards tab title font "Poppins, sans-serif"; Actual: "${elementFont}"`;
errors.push(message);
}
//Validate color -gray
if (elementColor === 'rgba(182, 186, 181, 1)') {
console.log('Passed: Dashboard - National Standards tab title text color matched as expected');
@@ -464,41 +517,50 @@ const steps = [
}
},
//Dashboard - Custom Comparison tab title and color (active)
//Custom Comparison tab title and color (active)
{
description: 'Validate Dashboard - Custom Comparison tab title, text color, and size',
description: 'Validate Custom Comparison tab title, text color, and size',
action: async () => {
const element = await driver.findElement(By.css('#sscFilterLaunch-tab'));
//Get text, color, and size
//Get text, font, size, and color
const elementText = await element.getText();
const elementColor = await element.getCssValue('color');
const elementFont = await element.getCssValue('font-family');
const elementSize = await element.getCssValue('font-size');
const elementColor = await element.getCssValue('color');
//Track all errors
const errors = [];
//Validate text
if (elementText === 'Custom Comparison') {
console.log('Passed: Dashboard - Custom Comparison tab title matched as expected');
console.log('Passed: Custom Comparison tab title matched as expected');
} else {
const message = `Expected: Dashboard - "Custom Comparison" tab title; Actual: "${elementText}"`;
const message = `Expected: "Custom Comparison" tab title; Actual: "${elementText}"`;
errors.push(message);
}
//Validate font
if (elementFont === 'Poppins, sans-serif') {
console.log('Passed: Custom Comparison tab title font matched as expected');
} else {
const message = `Expected: Custom Comparison tab title font "Poppins, sans-serif"; Actual: "${elementFont}"`;
errors.push(message);
}
//Validate color -navy blue
if (elementColor === 'rgba(40, 39, 90, 1)') {
console.log('Passed: Dashboard - Custom Comparison tab title color matched as expected');
console.log('Passed: Custom Comparison tab title color matched as expected');
} else {
const message = `Expected: Dashboard - Custom Comparison tab title color "rgba(40, 39, 90, 1)"; Actual: "${elementColor}"`;
const message = `Expected: Custom Comparison tab title color "rgba(40, 39, 90, 1)"; Actual: "${elementColor}"`;
errors.push(message);
}
//Validate font size
if (elementSize === '15px') {
console.log('Passed: Dashboard - Custom Comparison tab title font size matched as expected');
console.log('Passed: Custom Comparison tab title font size matched as expected');
} else {
const message = `Expected: Dashboard - Custom Comparison tab title font size "15px"; Actual: "${elementSize}"`;
const message = `Expected: Custom Comparison tab title font size "15px"; Actual: "${elementSize}"`;
errors.push(message);
}
@@ -522,9 +584,9 @@ const steps = [
const elementText = await driver.findElement(By.css('#sscFilterLaunchPane > div > div')).getText();
if (elementText === `EdGate's advanced analysis tool provides semantic similarities, differences, and gaps across different state or organizational standards. Our advanced text analysis calculates semantic matches and provides a comprehensive comparison dataset for your team to make informed decisions faster and more effectively.`) {
console.log("Passed: Dashboard - Custom Comparison info text matched as expected");
console.log("Passed: Custom Comparison - info text matched as expected");
} else {
throw new Error(`Expected: Dashboard - "Custom Comparison info text did not match"; Actual: "${elementText}"`);
throw new Error(`Expected: Custom Comparison - "Custom Comparison info text did not match"; Actual: "${elementText}"`);
}
}
},
@@ -558,25 +620,25 @@ const steps = [
//Validate text
if (elementText === 'Get Started') {
console.log('Passed: Dashboard - Get Started button text matched as expected');
console.log('Passed: Custom Comparison - Get Started button text matched as expected');
} else {
const message = `Expected: Dashboard - "Get Started" button text; Actual: "${elementText}"`;
const message = `Expected: Custom Comparison - "Get Started" button text; Actual: "${elementText}"`;
errors.push(message);
}
//Validate color -green
if (elementColor === 'rgba(48, 200, 172, 1)') {
console.log('Passed: Dashboard - Get Started button color matched as expected');
console.log('Passed: Custom Comparison - Get Started button color matched as expected');
} else {
const message = `Expected: Dashboard - Get Started button color "rgba(48, 200, 172, 1)"; Actual: "${elementColor}"`;
const message = `Expected: Custom Comparison - Get Started button color "rgba(48, 200, 172, 1)"; Actual: "${elementColor}"`;
errors.push(message);
}
//Validate button icon is present
if (icon) {
console.log('Passed: Dashboard - Get Started button icon is present');
console.log('Passed: Custom Comparison - Get Started button icon is present');
} else {
const message = 'Expected: Dashboard - Get Started button icon not found';
const message = 'Expected: Custom Comparison - Get Started button icon not found';
errors.push(message);
}
@@ -621,9 +683,9 @@ const steps = [
}
},
//Dashboard - National Standards tab title, text, and font size (active)
//Custom Comparison - National Standards tab title, text, and font size (active)
{
description: 'Validate Dashboard - National Standards tab title text, color, and size',
description: 'Validate Custom Comparison - National Standards tab title text, color, and size',
action: async () => {
const element = await driver.findElement(By.css('#sscMap-tab'));
@@ -637,25 +699,25 @@ const steps = [
//Validate text
if (elementText === 'National Standards') {
console.log('Passed: Dashboard - National Standards tab title matched as expected');
console.log('Passed: Custom Comparison - National Standards tab title matched as expected');
} else {
const message = `Expected: Dashboard - "National Standards"; Actual: "${elementText}"`;
const message = `Expected: Custom Comparison - "National Standards"; Actual: "${elementText}"`;
errors.push(message);
}
//Validate color -navy blue
if (elementColor === 'rgba(40, 39, 90, 1)') {
console.log('Passed: Dashboard - National Standards tab title text color matched as expected');
console.log('Passed: Custom Comparison - National Standards tab title text color matched as expected');
} else {
const message = `Expected: Dashboard - National Standards tab title text color "rgba(40, 39, 90, 1)"'; Actual: "${elementColor}"`;
const message = `Expected: Custom Comparison - National Standards tab title text color "rgba(40, 39, 90, 1)"'; Actual: "${elementColor}"`;
errors.push(message);
}
//Validate font size
if (elementSize === '15px') {
console.log('Passed: Dashboard - National Standards tab title text font-size matched as expected');
console.log('Passed: Custom Comparison - National Standards tab title text font-size matched as expected');
} else {
const message = `Expected: Dashboard - National Standards tab title text font-size "15px"; Actual: "${elementSize}"`;
const message = `Expected: Custom Comparison - National Standards tab title text font-size "15px"; Actual: "${elementSize}"`;
errors.push(message);
}
@@ -672,9 +734,9 @@ const steps = [
}
},
//Dashboard - Custom Comparison tab title and color (dimmed)
//Custom Comparison - Custom Comparison tab title and color (dimmed)
{
description: 'Validate Dashboard - Custom Comparison tab title, text color, and size',
description: 'Validate Custom Comparison - Custom Comparison tab title, text color, and size',
action: async () => {
const element = await driver.findElement(By.css('#sscFilterLaunch-tab'));
@@ -688,25 +750,25 @@ const steps = [
//Validate text
if (elementText === 'Custom Comparison') {
console.log('Passed: Dashboard - Custom Comparison tab title matched as expected');
console.log('Passed: Custom Comparison - Custom Comparison tab title matched as expected');
} else {
const message = `Expected: Dashboard - "Custom Comparison" tab title; Actual: "${elementText}"`;
const message = `Expected: Custom Comparison - "Custom Comparison" tab title; Actual: "${elementText}"`;
errors.push(message);
}
//Validate color -gray
if (elementColor === 'rgba(182, 186, 181, 1)') {
console.log('Passed: Dashboard - Custom Comparison tab title color matched as expected');
console.log('Passed: Custom Comparison - Custom Comparison tab title color matched as expected');
} else {
const message = `Expected: Dashboard - Custom Comparison tab title color "rgba(182, 186, 181, 1)"; Actual: "${elementColor}"`;
const message = `Expected: Custom Comparison - Custom Comparison tab title color "rgba(182, 186, 181, 1)"; Actual: "${elementColor}"`;
errors.push(message);
}
//Validate font size
if (elementSize === '15px') {
console.log('Passed: Dashboard - Custom Comparison tab title font size matched as expected');
console.log('Passed: Custom Comparison - Custom Comparison tab title font size matched as expected');
} else {
const message = `Expected: Dashboard - Custom Comparison tab title font size "15px"; Actual: "${elementSize}"`;
const message = `Expected: Custom Comparison - Custom Comparison tab title font size "15px"; Actual: "${elementSize}"`;
errors.push(message);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -36,7 +36,7 @@ const expectedAuthenticationText = 'Authentication Failed. Please check the user
const expectedUsername = 'JuanIsThe BestAdmin';
const steps = [
{ description: 'Navigate to ExACT Landing Page', action: async () => await driver.navigate().to('https://stage.edgate.com/exact/login.php') }, //PROD - https://correlation.edgate.com/exact/login.php
{ description: 'Navigate to ExACT Landing Page', action: async () => await driver.navigate().to('https://correlation.edgate.com/exact/login.php') },
{ description: 'Expand browser', action: async () => await driver.manage().window().maximize() },
//RIGHT PANEL

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff