Skip to content

Commit 151ebf1

Browse files
committed
trying to change testing to dynamically switch between node and jsdom
1 parent 42d6afa commit 151ebf1

File tree

7 files changed

+81
-42
lines changed

7 files changed

+81
-42
lines changed

__tests__/projects.test.ts renamed to __tests__/nodetest/projects.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
const { Mongoose } = require('mongoose');
66
const request = require('supertest');
77
// initializes the project to be sent to server/DB
8-
import mockData from '../mockData'
8+
import mockData from '../../mockData'
99
import app from ('../server/server');
1010
const http = require('http')
1111
const {state, projectToSave } = mockData

__tests__/server.test.tsx renamed to __tests__/nodetest/server.test.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import marketplaceController from '../server/controllers/marketplaceController';
2-
import app from '../server/server';
3-
import mockData from '../mockData';
1+
import marketplaceController from '../../server/controllers/marketplaceController';
2+
import app from '../../server/server';
3+
import mockData from '../../mockData';
4+
import { profileEnd } from 'console';
45
const request = require('supertest');
56
const mongoose = require('mongoose');
67
const mockNext = jest.fn(); // Mock nextFunction
@@ -78,14 +79,14 @@ describe('Server endpoint tests', () => {
7879
it('responds with status of 200 and json object equal to deleted project', async () => {
7980
const response: Response = await request(app).post('/getProjects').set('Accept', 'application/json').send({ userId: projectToSave.userId });
8081
const _id: String = response.body[0]._id;
81-
const userId: String = user.username;
82+
const userId: String = user.userId;
8283
console.log(_id, userId);
8384
return request(app)
8485
.delete('/deleteProject')
8586
.set('Content-Type', 'application/json')
8687
.send({ _id, userId })
8788
.expect(200)
88-
.then((res) => expect(res.body.name).toBe(projectToSave.name)); // @Denton might want to check more of these fields
89+
.then((res) => expect(res.body._id).toBe(_id)); // @Denton might want to check more of these fields
8990
});
9091
});
9192
});

jest.config.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
module.exports = {
2+
testEnvironment: 'jsdom',
3+
bail: true,
4+
moduleNameMapper: {
5+
'^.+\\.(css|scss|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$': 'identity-obj-proxy',
6+
'^d3$': '<rootDir>/node_modules/d3/dist/d3.min.js',
7+
},
8+
moduleFileExtensions: [
9+
'ts',
10+
'tsx',
11+
'js',
12+
],
13+
modulePathIgnorePatterns: [
14+
'__tests__/playwright',
15+
'__tests__/spec.ts',
16+
'__tests__/userAuth.test.ts',
17+
],
18+
transform: {
19+
'\\.(ts|tsx)$': 'ts-jest',
20+
'^.+\\.js?$': 'babel-jest',
21+
},
22+
transformIgnorePatterns: [
23+
'node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)',
24+
],
25+
testRegex: '/__tests__/.*\\.(ts|tsx|js)$',
26+
globals: {
27+
'ts-jest': {
28+
diagnostics: false,
29+
},
30+
},
31+
snapshotSerializers: [
32+
'enzyme-to-json/serializer',
33+
],
34+
};

jestNode.config.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
module.exports = {
2+
testEnvironment: 'node',
3+
bail: true,
4+
moduleNameMapper: {
5+
'^.+\\.(css|scss|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$': 'identity-obj-proxy',
6+
'^d3$': '<rootDir>/node_modules/d3/dist/d3.min.js',
7+
},
8+
moduleFileExtensions: [
9+
'ts',
10+
'tsx',
11+
'js',
12+
],
13+
modulePathIgnorePatterns: [
14+
'__tests__/playwright',
15+
'__tests__/spec.ts',
16+
'__tests__/userAuth.test.ts',
17+
],
18+
transform: {
19+
'\\.(ts|tsx)$': 'ts-jest',
20+
'^.+\\.js?$': 'babel-jest',
21+
},
22+
transformIgnorePatterns: [
23+
'node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)',
24+
],
25+
testRegex: '/__tests__/.*\\.(ts|tsx|js)$',
26+
globals: {
27+
'ts-jest': {
28+
diagnostics: false,
29+
},
30+
},
31+
snapshotSerializers: [
32+
'enzyme-to-json/serializer',
33+
],
34+
};

mockData.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const mockObj = {
2828
},
2929

3030
projectToSave: {
31+
_id: '',
3132
name: 'super test project',
3233
userId: '64f11a47e77f99bf34b08979',
3334
username: 'test',
@@ -50,7 +51,7 @@ const mockObj = {
5051
nextChildId: 1
5152
}
5253
},
53-
54+
//The following is for graphQL
5455
GET_PROJECTS: `query GetAllProjects($userId: ID) {
5556
getAllProjects(userId: $userId) {
5657
name

package.json

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@
8686
"dist-linux": "electron-builder --linux",
8787
"dist-windows": "electron-builder --windows",
8888
"dist-all": "npm run prod-build && electron-builder --mac --linux --windows",
89-
"test": "NODE_ENV=test jest --verbose --coverage",
89+
"test:jest": "jest --config jest.config.js",
90+
"test:jestNode": "jest --config jestNode.config.js",
91+
"test": "NODE_ENV=test npm run test:jest --verbose --coverage && NODE_ENV=test npm run test:jestNode --verbose --coverage",
9092
"server": "cross-env NODE_ENV=development nodemon server/server.ts",
9193
"start": "ts-node server/server.ts",
9294
"ts-coverage": "typescript-coverage-report"
@@ -242,40 +244,6 @@
242244
"webpack-dev-server": "^4.11.1",
243245
"webpack-merge": "^4.2.2"
244246
},
245-
"jest": {
246-
"testEnvironment": "jsdom",
247-
"bail": true,
248-
"moduleNameMapper": {
249-
"^.+\\.(css|scss|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$": "identity-obj-proxy",
250-
"^d3$": "<rootDir>/node_modules/d3/dist/d3.min.js"
251-
},
252-
"moduleFileExtensions": [
253-
"ts",
254-
"tsx",
255-
"js"
256-
],
257-
"modulePathIgnorePatterns": [
258-
"__tests__/playwright",
259-
"__tests__/spec.ts",
260-
"__tests__/userAuth.test.ts"
261-
],
262-
"transform": {
263-
"\\.(ts|tsx)$": "ts-jest",
264-
"^.+\\.js?$": "babel-jest"
265-
},
266-
"transformIgnorePatterns": [
267-
"node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)"
268-
],
269-
"testRegex": "/__tests__/.*\\.(ts|tsx|js)$",
270-
"globals": {
271-
"ts-jest": {
272-
"diagnostics": false
273-
}
274-
},
275-
"snapshotSerializers": [
276-
"enzyme-to-json/serializer"
277-
]
278-
},
279247
"engines": {
280248
"node": "19.x",
281249
"npm": "9.5.0"

server/server.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@ if (isDocker) {
252252
});
253253
}
254254

255+
255256
app.get('/test', (req, res) => {
256257
res.send('test request is working');
257258
});

0 commit comments

Comments
 (0)