add test ci script
This commit is contained in:
18
.gitlab-ci.yml
Normal file
18
.gitlab-ci.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
stages:
|
||||||
|
- test
|
||||||
|
|
||||||
|
unit-test:
|
||||||
|
image: node:latest
|
||||||
|
stage: test
|
||||||
|
before_script:
|
||||||
|
- npm install
|
||||||
|
script:
|
||||||
|
- npm run test-ci
|
||||||
|
coverage: /All files[^|]*\|[^|]*\s+([\d\.]+)/
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- coverage/
|
||||||
|
when: always
|
||||||
|
reports:
|
||||||
|
junit:
|
||||||
|
- junit.xml
|
||||||
1
__mocks__/styleMock.js
Normal file
1
__mocks__/styleMock.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
module.exports = {};
|
||||||
1
__mocks__/svgMock.js
Normal file
1
__mocks__/svgMock.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
module.exports = 'test-file-stub';
|
||||||
4
babel.config.json
Normal file
4
babel.config.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"presets": ["@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript"]
|
||||||
|
}
|
||||||
|
|
||||||
19
jest.config.js
Normal file
19
jest.config.js
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
module.exports = {
|
||||||
|
testEnvironment: 'jsdom',
|
||||||
|
setupFilesAfterEnv: ['@testing-library/jest-dom/extend-expect'],
|
||||||
|
transform: {
|
||||||
|
"^.+\\.jsx?$": "babel-jest",
|
||||||
|
'^.+\\.mjs': 'babel-jest',
|
||||||
|
},
|
||||||
|
transformIgnorePatterns: [
|
||||||
|
'/node_modules/',
|
||||||
|
'node_modules/(?!(d3|other-module-to-transform)/)',
|
||||||
|
'\\.css$',
|
||||||
|
],
|
||||||
|
moduleNameMapper: {
|
||||||
|
'\\.(svg)$': '<rootDir>/__mocks__/svgMock.js',
|
||||||
|
'\\.(css|less|sass|scss)$': '<rootDir>/__mocks__/styleMock.js',
|
||||||
|
'^d3$': '<rootDir>/node_modules/d3/src/index.js',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
13507
package-lock.json
generated
13507
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
11
package.json
11
package.json
@@ -37,7 +37,8 @@
|
|||||||
"test": "react-scripts test",
|
"test": "react-scripts test",
|
||||||
"eject": "react-scripts eject",
|
"eject": "react-scripts eject",
|
||||||
"deploy": "npm run build && firebase deploy",
|
"deploy": "npm run build && firebase deploy",
|
||||||
"coverage": "react-scripts test --coverage"
|
"coverage": "react-scripts test --coverage",
|
||||||
|
"test-ci": "jest --testPathIgnorePatterns=src/tests/ --passWithNoTests --ci --bail"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"extends": [
|
"extends": [
|
||||||
@@ -58,7 +59,13 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.23.7",
|
||||||
|
"@babel/preset-env": "^7.23.8",
|
||||||
|
"@babel/preset-react": "^7.23.3",
|
||||||
|
"@babel/preset-typescript": "^7.23.3",
|
||||||
"csv-parser": "^3.0.0",
|
"csv-parser": "^3.0.0",
|
||||||
"html-pdf-node": "^1.0.8"
|
"html-pdf-node": "^1.0.8",
|
||||||
|
"jest-environment-jsdom": "^29.7.0",
|
||||||
|
"ts-jest": "^29.1.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,3 +3,4 @@
|
|||||||
// expect(element).toHaveTextContent(/react/i)
|
// expect(element).toHaveTextContent(/react/i)
|
||||||
// learn more: https://github.com/testing-library/jest-dom
|
// learn more: https://github.com/testing-library/jest-dom
|
||||||
import '@testing-library/jest-dom';
|
import '@testing-library/jest-dom';
|
||||||
|
// import '@testing-library/jest-dom/extend-expect';
|
||||||
Reference in New Issue
Block a user