jest configuration for ui-packages

This commit is contained in:
Sebastian Sdorra
2019-10-09 10:19:46 +02:00
parent 3167b599cd
commit e1390d68c9
9 changed files with 975 additions and 1114 deletions

View File

@@ -6,6 +6,7 @@
], ],
"scripts": { "scripts": {
"build": "webpack --mode=development --config=scm-ui/scripts/webpack.config.js", "build": "webpack --mode=development --config=scm-ui/scripts/webpack.config.js",
"test": "jest --config=scm-ui/scripts/jest.config.js",
"serve": "webpack-dev-server --mode=development --config=scm-ui/scripts/webpack.config.js" "serve": "webpack-dev-server --mode=development --config=scm-ui/scripts/webpack.config.js"
}, },
"devDependencies": { "devDependencies": {
@@ -14,13 +15,17 @@
"@babel/preset-env": "^7.6.2", "@babel/preset-env": "^7.6.2",
"@babel/preset-flow": "^7.0.0", "@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0", "@babel/preset-react": "^7.0.0",
"babel-jest": "^24.9.0",
"babel-loader": "^8.0.6", "babel-loader": "^8.0.6",
"cache-loader": "^4.1.0", "cache-loader": "^4.1.0",
"css-loader": "^3.2.0", "css-loader": "^3.2.0",
"file-loader": "^4.2.0", "file-loader": "^4.2.0",
"flow-mono-cli": "^1.5.0", "flow-mono-cli": "^1.5.0",
"jest": "^24.9.0",
"jest-junit": "^8.0.0",
"mustache": "^3.1.0", "mustache": "^3.1.0",
"node-sass": "^4.12.0", "node-sass": "^4.12.0",
"prettier": "^1.18.2",
"sass-loader": "^8.0.0", "sass-loader": "^8.0.0",
"script-loader": "^0.7.2", "script-loader": "^0.7.2",
"speed-measure-webpack-plugin": "^1.3.1", "speed-measure-webpack-plugin": "^1.3.1",
@@ -30,5 +35,9 @@
"webpack": "^4.41.0", "webpack": "^4.41.0",
"webpack-cli": "^3.3.9", "webpack-cli": "^3.3.9",
"webpack-dev-server": "^3.8.2" "webpack-dev-server": "^3.8.2"
} },
"resolutions": {
"babel-core": "7.0.0-bridge.0"
},
"dependencies": {}
} }

View File

@@ -8,5 +8,10 @@
"devDependencies": { "devDependencies": {
"flow-bin": "^0.109.0", "flow-bin": "^0.109.0",
"flow-typed": "^2.6.1" "flow-typed": "^2.6.1"
},
"jest": {
"transform": {
"^.+\\.js$": "../../scm-ui/scripts/babelMonoRepoTransformer.js"
}
} }
} }

View File

@@ -12,7 +12,8 @@ import RepositoryConfig from "./RepositoryConfig";
// repository // repository
const gitPredicate = (props: Object) => { // @visibleForTesting
export const gitPredicate = (props: Object) => {
return props.repository && props.repository.type === "git"; return props.repository && props.repository.type === "git";
}; };

View File

@@ -0,0 +1,15 @@
// @flow
import { gitPredicate } from "./index";
describe("test gi predicate", () => {
it("should return false", () => {
expect(gitPredicate()).toBe(false);
expect(gitPredicate({})).toBe(false);
expect(gitPredicate({ repository: {} })).toBe(false);
expect(gitPredicate({ repository: { type: "hg" } })).toBe(false);
});
it("should return true", () => {
expect(gitPredicate({ repository: { type: "fir" } })).toBe(true);
});
});

View File

@@ -0,0 +1,12 @@
/**
* Read and use .babelrc from packages
*/
const { join, resolve } = require("path");
const { createTransformer } = require("babel-jest");
const packagePath = resolve(__dirname, "../");
const packageGlob = join(packagePath, "*");
module.exports = createTransformer({
babelrcRoots: packageGlob
});

View File

@@ -0,0 +1,18 @@
const path = require("path");
const rootDir = path.resolve(__dirname, "..");
const reportDirectory = path.join(rootDir, "target", "jest-reports");
module.exports = {
rootDir,
transform: { "^.+\\.js$": "./scripts/babelMonoRepoTransformer.js" },
collectCoverage: true,
coverageDirectory: path.join(reportDirectory, "coverage"),
coveragePathIgnorePatterns: ["src/tests/.*"],
reporters: [
"default",
[
"jest-junit",
{ outputDirectory: reportDirectory, outputName: "TEST-all.xml" }
]
]
};

View File

@@ -21,7 +21,6 @@
"fetch-mock": "^7.2.5", "fetch-mock": "^7.2.5",
"flow-bin": "^0.109.0", "flow-bin": "^0.109.0",
"flow-typed": "^2.5.1", "flow-typed": "^2.5.1",
"jest": "^23.5.0",
"raf": "^3.4.0", "raf": "^3.4.0",
"react-router-enzyme-context": "^1.2.0" "react-router-enzyme-context": "^1.2.0"
}, },
@@ -43,5 +42,10 @@
}, },
"resolutions": { "resolutions": {
"gitdiff-parser": "https://github.com/cloudogu/gitdiff-parser#3a72da4a8e3d9bfb4b9e01a43e85628c19f26cc4" "gitdiff-parser": "https://github.com/cloudogu/gitdiff-parser#3a72da4a8e3d9bfb4b9e01a43e85628c19f26cc4"
},
"jest": {
"transform": {
"^.+\\.js$": "../scripts/babelMonoRepoTransformer.js"
}
} }
} }

View File

@@ -5,7 +5,6 @@
"private": true, "private": true,
"main": "dist/ui-webapp.js", "main": "dist/ui-webapp.js",
"dependencies": { "dependencies": {
"@babel/polyfill": "^7.0.0",
"@fortawesome/fontawesome-free": "^5.3.1", "@fortawesome/fontawesome-free": "^5.3.1",
"@scm-manager/ui-components": "2.0.0-SNAPSHOT", "@scm-manager/ui-components": "2.0.0-SNAPSHOT",
"@scm-manager/ui-extensions": "^0.1.2", "@scm-manager/ui-extensions": "^0.1.2",
@@ -63,7 +62,6 @@
"fetch-mock": "^6.5.0", "fetch-mock": "^6.5.0",
"flow-bin": "^0.109.0", "flow-bin": "^0.109.0",
"flow-typed": "^2.6.1", "flow-typed": "^2.6.1",
"jest": "^23.5.0",
"node-sass": "^4.9.3", "node-sass": "^4.9.3",
"node-sass-chokidar": "^1.3.0", "node-sass-chokidar": "^1.3.0",
"npm-run-all": "^4.1.3", "npm-run-all": "^4.1.3",
@@ -73,5 +71,10 @@
"react-test-renderer": "^16.4.1", "react-test-renderer": "^16.4.1",
"redux-mock-store": "^1.5.3", "redux-mock-store": "^1.5.3",
"systemjs": "0.21.6" "systemjs": "0.21.6"
},
"jest": {
"transform": {
"^.+\\.js$": "../scripts/babelMonoRepoTransformer.js"
}
} }
} }

2012
yarn.lock

File diff suppressed because it is too large Load Diff