Skip to content

Commit 202d49c

Browse files
committed
Cypress root modification
1 parent 11d0d56 commit 202d49c

File tree

10 files changed

+69
-51
lines changed

10 files changed

+69
-51
lines changed

cypress.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
{
22
"video": false,
3-
"screenshotOnRunFailure": false
4-
3+
"screenshotOnRunFailure": false,
4+
"testFiles": "**/*.cypress.*",
5+
"integrationFolder": "tests/apps",
6+
"fixturesFolder": "tests/utils/cypress/fixtures",
7+
"pluginsFile": "tests/utils/cypress/plugins/index.ts"
58
}

cypress/start.ts

Lines changed: 0 additions & 38 deletions
This file was deleted.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"scripts": {
1414
"dev": "NODE_ENV=dev ts-node-dev --ignore-watch node_modules --inspect=0.0.0.0:9267 ./src/apps/mooc_backend/server.ts",
1515
"dev:backoffice:frontend": "NODE_ENV=dev ts-node-dev --ignore-watch node_modules ./src/apps/backoffice/frontend/server.ts",
16-
"test": "npm run test:unit && npm run test:features",
16+
"test": "npm run test:unit && npm run test:features && npm run cypress:run",
1717
"test:unit": "NODE_ENV=test jest",
1818
"test:features": "NODE_ENV=test cucumber-js -p default",
1919
"lint": "tslint src/**/*.ts{,x}",
@@ -23,8 +23,8 @@
2323
"build:tsc": "tsc -p tsconfig.prod.json",
2424
"build:di": "copy 'src/**/*.{json,yaml,html,png}' dist/src",
2525
"build:clean": "rm -r dist; exit 0",
26-
"cypress:open": "NODE_ENV=test cypress open",
27-
"cypress:run": "NODE_ENV=test ts-node cypress/start"
26+
"cypress:open": "NODE_ENV=test ts-node tests/utils/cypress/open",
27+
"cypress:run": "NODE_ENV=test ts-node tests/utils/cypress/run"
2828
},
2929
"dependencies": {
3030
"@types/bson": "^4.0.2",

cypress/integration/backoffice/courses.spec.ts renamed to tests/apps/backoffice_frontend/features/courses/create_course.cypress.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import faker from 'faker';
22

33
describe('Courses', () => {
4-
54
beforeEach(() => {
65
cy.task('reset:db');
76
});
File renamed without changes.

tests/utils/cypress/open.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import cypress from 'cypress';
2+
import { startBackofficeFrontend } from './startBackofficeFrontend';
3+
4+
async function open() {
5+
const server = await startBackofficeFrontend();
6+
await openCypress();
7+
server.close(() => {
8+
process.exit(0);
9+
});
10+
}
11+
12+
async function openCypress() {
13+
return cypress.open();
14+
}
15+
16+
open();

cypress/plugins/index.ts renamed to tests/utils/cypress/plugins/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import container from '../../src/apps/mooc_backend/config/dependency-injection';
2-
import { EnvironmentArranger } from '../../tests/Contexts/Shared/infrastructure/arranger/EnvironmentArranger';
3-
import { seed } from '../../src/apps/backoffice/frontend/seed';
1+
import container from '../../../../src/apps/mooc_backend/config/dependency-injection';
2+
import { EnvironmentArranger } from '../../../Contexts/Shared/infrastructure/arranger/EnvironmentArranger';
3+
import { seed } from '../../../../src/apps/backoffice/frontend/seed';
44

55
const environmentArranger: Promise<EnvironmentArranger> = container.get('Mooc.EnvironmentArranger');
66

tests/utils/cypress/run.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import app from '../../../src/apps/backoffice/frontend/app';
2+
import cypress from 'cypress';
3+
import cypressConfig from '../../../cypress.json';
4+
import { startBackofficeFrontend } from './startBackofficeFrontend';
5+
6+
async function run() {
7+
const server = await startBackofficeFrontend();
8+
await runCypress();
9+
server.close(() => {
10+
process.exit(0);
11+
});
12+
}
13+
14+
async function runCypress() {
15+
return cypress.run({
16+
reporter: 'junit',
17+
browser: 'chrome',
18+
headless: true,
19+
config: {
20+
...cypressConfig,
21+
baseUrl: `http://localhost:${app.get('port')}`
22+
}
23+
});
24+
}
25+
26+
run();
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import app from '../../../src/apps/backoffice/frontend/app';
2+
import { Server } from 'http';
3+
4+
export async function startBackofficeFrontend(): Promise<Server> {
5+
let server: Server;
6+
7+
return new Promise((resolve, reject) => {
8+
server = app.listen(app.get('port'), async () => {
9+
console.log(` Backoffice frontend is running at http://localhost:${app.get('port')} in ${app.get('env')} mode`);
10+
console.log(' Press CTRL-C to stop\n');
11+
resolve(server);
12+
});
13+
});
14+
}
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
{
2-
"extends": "../tsconfig.json",
2+
"extends": "../../../tsconfig.json",
33
"compilerOptions": {
44
"lib": ["es2015", "dom"],
55
"types": ["cypress"]
66
},
7-
"include": [
8-
"**/*.ts"
9-
]
7+
"include": ["**/*.ts"]
108
}
119

0 commit comments

Comments
 (0)