static-cms/cypress/e2e/common/spec_utils.ts
Daniel Lautzenheiser 799c7e6936
feat: v4.0.0 (#1016)
Co-authored-by: Denys Konovalov <kontakt@denyskon.de>
Co-authored-by: Mathieu COSYNS <64072917+Mathieu-COSYNS@users.noreply.github.com>
2024-01-03 15:14:09 -05:00

48 lines
1.1 KiB
TypeScript

import type { Config } from '@staticcms/core/interface';
import type { TaskResult } from 'cypress/interface';
export const before = (taskResult: TaskResult, options: Partial<Config>, backend: string) => {
Cypress.config('taskTimeout', 7 * 60 * 1000);
cy.task('setupBackend', { backend, options }).then(data => {
taskResult.data = data;
});
};
export const after = (backend: string) => {
cy.task('teardownBackend', {
backend,
});
};
export const beforeEach = (backend: string) => {
cy.task('setupBackendTest', {
backend,
testName: Cypress.currentTest.title,
});
};
export const afterEach = (backend: string) => {
cy.task('teardownBackendTest', {
backend,
testName: Cypress.currentTest.title,
});
const {
suite: {
ctx: {
currentTest: { state, _retries: retries, _currentRetry: currentRetry },
},
},
} = (Cypress as any).mocha.getRunner();
if (state === 'failed' && retries === currentRetry) {
(Cypress as any).runner.stop();
}
};
export const seedRepo = (backend: string) => {
cy.task('seedRepo', {
backend,
});
};