Skip to content
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
a2dc03b
initial commit of poc
dmcintyr-akamai Mar 6, 2025
ce9a034
initial commit
dmcintyr-akamai Mar 10, 2025
c52a127
fix
dmcintyr-akamai Mar 10, 2025
68ffcfb
Merge remote-tracking branch 'origin' into M3-9256_cypress-html-repor…
dmcintyr-akamai Mar 10, 2025
509eec8
Added changeset: html presentation for cypress test results
dmcintyr-akamai Mar 10, 2025
f1f54cd
Merge remote-tracking branch 'origin' into M3-9256_cypress-html-repor…
dmcintyr-akamai Mar 13, 2025
b83100a
cleanup packages
dmcintyr-akamai Mar 13, 2025
46b6f1e
cleanup
dmcintyr-akamai Mar 13, 2025
f4e4f83
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 14, 2025
7e6b3b2
fix lock file
dmcintyr-akamai Mar 14, 2025
57f5a80
trying to fix lock file
dmcintyr-akamai Mar 14, 2025
e85a09a
cleanup
dmcintyr-akamai Mar 14, 2025
4e11811
fix ts error for mochawesome
dmcintyr-akamai Mar 14, 2025
9fa04f6
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 14, 2025
6c4870a
Merge remote-tracking branch 'origin/develop' into M3-9256_cypress-ht…
dmcintyr-akamai Mar 14, 2025
b5ea5bc
Merge remote-tracking branch 'origin/develop' into M3-9256_cypress-ht…
dmcintyr-akamai Mar 14, 2025
9b50254
Merge remote-tracking branch 'origin/develop' into M3-9256_cypress-ht…
dmcintyr-akamai Mar 14, 2025
3854a94
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 17, 2025
3d8476c
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 18, 2025
2caf02e
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 18, 2025
8ac5c19
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 18, 2025
55e55ca
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 19, 2025
7451f2e
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 19, 2025
ee96bde
enable multiple cypress reporters
dmcintyr-akamai Mar 19, 2025
5b2c161
Merge branch 'M3-9256_cypress-html-reporting' of github.com:dmcintyr-…
dmcintyr-akamai Mar 19, 2025
cff04a4
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 19, 2025
141e9b8
fix junit config
dmcintyr-akamai Mar 19, 2025
d44cb10
fix junit reporting
dmcintyr-akamai Mar 20, 2025
17aa60b
fix junit rpt
dmcintyr-akamai Mar 20, 2025
c34a204
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 20, 2025
ff114b6
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 20, 2025
7a0c574
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 24, 2025
c9922a2
refactor component vs core test suites
dmcintyr-akamai Mar 25, 2025
29ddf32
Merge branch 'M3-9256_cypress-html-reporting' of github.com:dmcintyr-…
dmcintyr-akamai Mar 25, 2025
6a6ac63
remove debug code
dmcintyr-akamai Mar 25, 2025
5973ddc
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 26, 2025
84ec837
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 27, 2025
bbdbbec
inline assets option
dmcintyr-akamai Mar 27, 2025
4136c34
demo changes
dmcintyr-akamai Mar 27, 2025
dbb8895
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 27, 2025
81ce68b
remove debug code
dmcintyr-akamai Mar 31, 2025
1ae3146
Merge branch 'M3-9256_cypress-html-reporting' of github.com:dmcintyr-…
dmcintyr-akamai Mar 31, 2025
78dab3b
revert change
dmcintyr-akamai Mar 31, 2025
3a1da26
revert format change
dmcintyr-akamai Mar 31, 2025
5e82a5a
Merge branch 'develop' into M3-9256_cypress-html-reporting
dmcintyr-akamai Mar 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ packages/manager/test-report.xml
**/manager/cypress/downloads/
**/manager/cypress/results/
**/manager/cypress/screenshots/
**/manager/cypress/reports/

packages/manager/cypress/fixtures/example.json

Expand Down
5 changes: 5 additions & 0 deletions packages/manager/.changeset/pr-11795-tests-1741634978355.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@linode/manager": Tests
---

html presentation for cypress test results ([#11795](https://github.com/linode/manager/pull/11795))
8 changes: 5 additions & 3 deletions packages/manager/cypress.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ import cypressViteConfig from './cypress/vite.config';
import { featureFlagOverrides } from './cypress/support/plugins/feature-flag-override';
import { postRunCleanup } from './cypress/support/plugins/post-run-cleanup';
import { resetUserPreferences } from './cypress/support/plugins/reset-user-preferences';

import { configureMultiReporters } from './cypress/support/plugins/configure-multi-reporters';
import cypressOnFix from 'cypress-on-fix';
/**
* Exports a Cypress configuration object.
*
Expand Down Expand Up @@ -81,7 +82,8 @@ export default defineConfig({
// See `cypress/support/plugins/configure-test-suite.ts`.
specPattern: 'cypress/e2e/core/**/*.spec.{ts,tsx}',

setupNodeEvents(on, config) {
setupNodeEvents(cypressOn, config) {
const on = cypressOnFix(cypressOn);
return setupPlugins(on, config, [
loadEnvironmentConfig,
nodeVersionCheck,
Expand All @@ -98,8 +100,8 @@ export default defineConfig({
featureFlagOverrides,
logTestTagInfo,
splitCypressRun,
enableJunitReport(),
generateTestWeights,
configureMultiReporters,
postRunCleanup,
]);
},
Expand Down
2 changes: 2 additions & 0 deletions packages/manager/cypress/support/e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
// ***********************************************************

import '@testing-library/cypress/add-commands';
// reporter needs to register for events in order to attach media to test results in html report
import 'cypress-mochawesome-reporter/register';
// Cypress command and assertion setup.
import chaiString from 'chai-string';
import 'cypress-axe';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import { CypressPlugin } from './plugin';
import cypressReporterLib from 'cypress-mochawesome-reporter/lib';
const { beforeRunHook, afterRunHook } = cypressReporterLib;
import { jUnitE2EReportOptions } from './junit-report';

/**
* Configure multiple reporters to be used by Cypress
*
* @returns Cypress configuration object.
*/
export const configureMultiReporters: CypressPlugin = (on, config) => {
config.reporter = 'cypress-multi-reporters';
config.reporterOptions = {
reporterEnabled: 'mocha-junit-reporter, cypress-mochawesome-reporter',
//config.env['cypress_test_suite'] = 'core'
mochaJunitReporterReporterOptions: jUnitE2EReportOptions(
config.env['cypress_test_suite'],
false
),
cypressMochawesomeReporterReporterOptions: {
reportPageTitle: 'Cloud Manager E2e Test Results',
embeddedScreenshots: true,
videoOnFailOnly: true,
charts: true,
quiet: true,
},
};

// need hooks to insert results into html file by cypress-mochawesome-reporter
on('before:run', async (results) => {
await beforeRunHook(results);
});

on('after:run', async () => {
await afterRunHook();
});
return config;
};
25 changes: 25 additions & 0 deletions packages/manager/cypress/support/plugins/junit-report.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,28 @@ export const enableJunitReport = (
return config;
};
};

/**
* Used to get config options for E2E test suite
* @param suiteName - Optional suite name in the JUnit output.
* @param jenkinsMode - If test is execute in Jenkins env
*
* @returns object.
*/
export const jUnitE2EReportOptions = (
testSuite?: string,
jenkinsMode: boolean = false
) => {
if (testSuite) {
const testSuiteName = `${capitalize(testSuite)} Test Suite`;
return {
mochaFile: 'cypress/results/test-results-[hash].xml',
rootSuiteTitle: 'Cloud Manager Cypress Tests',
testsuitesTitle: testSuiteName,
jenkinsMode,
suiteTitleSeparatedBy: jenkinsMode ? 'β†’' : ' ',
};
} else {
return {};
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
declare module 'cypress-mochawesome-reporter/lib';
9 changes: 7 additions & 2 deletions packages/manager/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@
"@hookform/resolvers": "3.9.1",
"@linode/api-v4": "workspace:*",
"@linode/design-language-system": "^4.0.0",
"@linode/validation": "workspace:*",
"@linode/queries": "workspace:*",
"@linode/search": "workspace:*",
"@linode/ui": "workspace:*",
"@linode/utilities": "workspace:*",
"@linode/validation": "workspace:*",
"@lukemorales/query-key-factory": "^1.3.4",
"@mui/icons-material": "^6.4.5",
"@mui/material": "^6.4.5",
Expand Down Expand Up @@ -120,7 +120,9 @@
"prettier --write",
"eslint --ext .js,.ts,.tsx --quiet"
],
"*.{ts,tsx}": ["sh -c 'pnpm typecheck'"]
"*.{ts,tsx}": [
"sh -c 'pnpm typecheck'"
]
},
"devDependencies": {
"@4tw/cypress-drag-drop": "^2.3.0",
Expand Down Expand Up @@ -181,6 +183,9 @@
"cypress": "14.0.1",
"cypress-axe": "^1.6.0",
"cypress-file-upload": "^5.0.8",
"cypress-mochawesome-reporter": "^3.8.2",
"cypress-multi-reporters": "^2.0.5",
"cypress-on-fix": "^1.1.0",
"cypress-real-events": "^1.14.0",
"cypress-vite": "^1.6.0",
"dotenv": "^16.0.3",
Expand Down
Loading