PromucFlow_constructor/app/client/cypress_ci_hosted.config.ts
Saroj ba9ebf1d6e
ci: Migrate pending workflows to dime defenders (#26968)
## Description
- Updated the logic to use DimeDefenders spec split
- Updated ci-test-hosted, ci-test-limited and ci-test-custom-script
- Changes to handle when there is no spec to run in CI

#### Type of change
- DimeDefender script
- Workflows
## Testing
- Workflow run
2023-09-06 14:40:13 +05:30

60 lines
1.7 KiB
TypeScript

import { defineConfig } from "cypress";
import fs from "fs";
export default defineConfig({
defaultCommandTimeout: 30000,
requestTimeout: 60000,
responseTimeout: 60000,
pageLoadTimeout: 60000,
videoCompression: false,
videoUploadOnPasses: false,
numTestsKeptInMemory: 5,
experimentalMemoryManagement: true,
reporter: "cypress-mochawesome-reporter",
reporterOptions: {
reportDir: "results",
charts: true,
reportPageTitle: "Cypress-report",
videoOnFailOnly: true,
embeddedScreenshots: true,
inlineAssets: true,
saveAllAttempts: true,
},
chromeWebSecurity: false,
viewportHeight: 1100,
viewportWidth: 1400,
scrollBehavior: "center",
retries: {
runMode: 1,
openMode: 0,
},
e2e: {
baseUrl: "https://regression.test.appsmith.com/",
setupNodeEvents(on, config) {
require("cypress-mochawesome-reporter/plugin")(on);
on(
"after:spec",
(spec: Cypress.Spec, results: CypressCommandLine.RunResult) => {
if (results && results.video) {
// Do we have failures for any retry attempts?
const failures = results.tests.some((test) =>
test.attempts.some((attempt) => attempt.state === "failed"),
);
if (!failures) {
// delete the video if the spec passed and no tests retried
fs.unlinkSync(results.video);
}
}
},
);
return require("./cypress/plugins/index.js")(on, config);
},
specPattern: [
"cypress/e2e/Sanity/Datasources/Airtable_Basic_Spec.ts",
"cypress/e2e/GSheet/**/**/*",
],
testIsolation: false,
excludeSpecPattern: ["cypress/e2e/**/spec_utility.ts"],
},
});