Skip to content
Snippets Groups Projects
Commit fedaba38 authored by Reiter, Christoph's avatar Reiter, Christoph :snake:
Browse files

Add CI testing

parent 7f2c3e48
No related branches found
No related tags found
No related merge requests found
image: registry.gitlab.tugraz.at/vpu/webcomponents/common/main:v1
before_script:
- "sed -i 's|git@gitlab.tugraz.at:VPU|../..|g' .gitmodules"
- git submodule sync
- git submodule update --init
stages:
- test
test:
stage: test
script:
- npm install
- npm run build
- npm test
// Trick to use the auto-downloaded puppeteer chrome binary
process.env.CHROME_BIN = require('puppeteer').executablePath();
module.exports = function(config) {
config.set({
basePath: 'dist',
frameworks: ['mocha'],
client: {
mocha: {
ui: 'tdd',
},
},
files: [
{pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
{pattern: './**/*', included: false, watched: true, served: true},
],
autoWatch: true,
browsers: ['ChromeHeadlessNoSandbox'],
customLaunchers: {
ChromeHeadlessNoSandbox: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},
singleRun: false,
logLevel: config.LOG_ERROR
});
}
......@@ -3,27 +3,26 @@
"version": "1.0.0",
"main": "src/vpu-data-table-view.js",
"devDependencies": {
"chai": "^4.2.0",
"glob": "^7.1.4",
"i18next-scanner": "^2.10.2",
"karma": "^4.2.0",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.0.0",
"karma-mocha": "^1.3.0",
"mocha": "^6.2.0",
"node-sass": "^4.12.0",
"puppeteer": "^1.15.0",
"mocha": "^6.2.0",
"chai": "^4.2.0",
"rollup": "^1.11.3",
"rollup-plugin-commonjs": "^10.0.2",
"rollup-plugin-consts": "^1.0.1",
"rollup-plugin-copy": "^3.1.0",
"rollup-plugin-delete": "^1.1.0",
"rollup-plugin-json": "^4.0.0",
"rollup-plugin-multi-entry": "^2.1.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-postcss": "^2.0.3",
"rollup-plugin-serve": "^1.0.1",
"rollup-plugin-terser": "^5.1.1",
"rollup-plugin-url": "^2.2.2",
"i18next-scanner": "^2.10.2",
"vpu-auth": "file:./vendor/auth",
"vpu-common": "file:./vendor/common"
},
......
import path from 'path';
import glob from 'glob';
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import copy from 'rollup-plugin-copy';
import {terser} from "rollup-plugin-terser";
import json from 'rollup-plugin-json';
import serve from 'rollup-plugin-serve';
import multiEntry from 'rollup-plugin-multi-entry';
import url from "rollup-plugin-url";
import urlPlugin from "rollup-plugin-url";
import consts from 'rollup-plugin-consts';
import del from 'rollup-plugin-delete'
import del from 'rollup-plugin-delete';
import chai from 'chai';
const pkg = require('./package.json');
const build = (typeof process.env.BUILD !== 'undefined') ? process.env.BUILD : 'local';
console.log("build: " + build);
export default {
input: (build != 'test') ? ['src/vpu-data-table-view.js', 'src/vpu-data-table-view-demo.js'] : 'test/**/*.js',
input: (build != 'test') ? ['src/vpu-data-table-view.js', 'src/vpu-data-table-view-demo.js'] : glob.sync('test/**/*.js'),
output: {
dir: 'dist',
entryFileNames: '[name].js',
......@@ -28,6 +29,10 @@ export default {
if (warning.code === 'MODULE_LEVEL_DIRECTIVE') {
return;
}
// ignore chai warnings
if (warning.code === 'CIRCULAR_DEPENDENCY') {
return;
}
throw new Error(warning);
},
watch: {
......@@ -37,7 +42,6 @@ export default {
del({
targets: 'dist/*'
}),
(build == 'test') ? multiEntry() : false,
consts({
environment: build,
}),
......@@ -48,9 +52,21 @@ export default {
}
}),
commonjs({
include: 'node_modules/**'
include: 'node_modules/**',
namedExports: {
'chai': Object.keys(chai),
}
}),
json(),
urlPlugin({
limit: 0,
include: [
"node_modules/bulma/**/*.css",
"node_modules/bulma/**/*.sass",
],
emitFiles: true,
fileName: 'shared/[name].[hash][extname]'
}),
(build !== 'local' && build !== 'test') ? terser() : false,
copy({
targets: [
......
import {assert} from 'chai';
import '../src/vpu-data-table-view';
import '../src/vpu-data-table-view-demo';
suite('vpu-data-table-view basics', () => {
let node;
suiteSetup(async () => {
node = document.createElement('vpu-data-table-view');
document.body.appendChild(node);
await node.updateComplete;
});
suiteTeardown(() => {
node.remove();
});
test('should render', () => {
assert(node.shadowRoot !== undefined);
});
});
suite('vpu-data-table-view-demo basics', () => {
let node;
suiteSetup(async () => {
node = document.createElement('vpu-data-table-view-demo');
document.body.appendChild(node);
await node.updateComplete;
});
suiteTeardown(() => {
node.remove();
});
test('should render', () => {
assert(node.shadowRoot !== undefined);
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment