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

tests: use the mocha tdd mode everywhere and drop karma-chai

Use tdd in all cases to be more consisstend.
Also since last year we can use chai with rollup directly, so
do that everywhere instead of relying on karma-chai injecting
it in to the global scope.
parent 077c91aa
No related branches found
No related tags found
1 merge request!7tests: use tdd mode, unify karma config, don't depend on puppeteer
Showing
with 90 additions and 66 deletions
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
"glob": "^7.1.6", "glob": "^7.1.6",
"i18next-scanner": "^2.10.3", "i18next-scanner": "^2.10.3",
"karma": "^5.1.0", "karma": "^5.1.0",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.1.0", "karma-chrome-launcher": "^3.1.0",
"karma-firefox-launcher": "^1.3.0", "karma-firefox-launcher": "^1.3.0",
"karma-mocha": "^2.0.1", "karma-mocha": "^2.0.1",
......
...@@ -4147,11 +4147,6 @@ jsprim@^1.2.2: ...@@ -4147,11 +4147,6 @@ jsprim@^1.2.2:
json-schema "0.2.3" json-schema "0.2.3"
verror "1.10.0" verror "1.10.0"
jsqr@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/jsqr/-/jsqr-1.3.1.tgz#515a766e58b00c80142f3a2dc4b8751100ceedcf"
integrity sha512-zCTP6Qd/WwjrpuHFkJuXc5opRdKprUr7eI7+JCCtcetThJt45qptu82MWQ+eET+FtDrMo7+BYjo3iD0XIq1L9Q==
jszip@^3.2.2, jszip@^3.5.0: jszip@^3.2.2, jszip@^3.5.0:
version "3.5.0" version "3.5.0"
resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.5.0.tgz#b4fd1f368245346658e781fec9675802489e15f6" resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.5.0.tgz#b4fd1f368245346658e781fec9675802489e15f6"
...@@ -4162,11 +4157,6 @@ jszip@^3.2.2, jszip@^3.5.0: ...@@ -4162,11 +4157,6 @@ jszip@^3.2.2, jszip@^3.5.0:
readable-stream "~2.3.6" readable-stream "~2.3.6"
set-immediate-shim "~1.0.1" set-immediate-shim "~1.0.1"
karma-chai@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/karma-chai/-/karma-chai-0.1.0.tgz#bee5ad40400517811ae34bb945f762909108b79a"
integrity sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=
karma-chrome-launcher@^3.0.0, karma-chrome-launcher@^3.1.0: karma-chrome-launcher@^3.0.0, karma-chrome-launcher@^3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz#805a586799a4d05f4e54f72a204979f3f3066738" resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz#805a586799a4d05f4e54f72a204979f3f3066738"
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
"packages/*" "packages/*"
], ],
"scripts": { "scripts": {
"test": "lerna run test" "test": "lerna run --parallel test"
}, },
"author": "", "author": "",
"license": "LGPL-2.1-or-later", "license": "LGPL-2.1-or-later",
......
...@@ -15,7 +15,7 @@ module.exports = function(config) { ...@@ -15,7 +15,7 @@ module.exports = function(config) {
{pattern: './**/*', included: false, watched: true, served: true}, {pattern: './**/*', included: false, watched: true, served: true},
], ],
autoWatch: true, autoWatch: true,
browsers: ['ChromeHeadlessNoSandbox'], browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
customLaunchers: { customLaunchers: {
ChromeHeadlessNoSandbox: { ChromeHeadlessNoSandbox: {
base: 'ChromeHeadless', base: 'ChromeHeadless',
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
"glob": "^7.1.6", "glob": "^7.1.6",
"i18next-scanner": "^2.10.2", "i18next-scanner": "^2.10.2",
"karma": "^5.1.0", "karma": "^5.1.0",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.0.0", "karma-chrome-launcher": "^3.0.0",
"karma-firefox-launcher": "^1.3.0",
"karma-mocha": "^2.0.1", "karma-mocha": "^2.0.1",
"mocha": "^8.0.1", "mocha": "^8.0.1",
"puppeteer": "^5.3.1", "puppeteer": "^5.3.1",
......
...@@ -6,7 +6,7 @@ import '../src/dbp-auth-demo'; ...@@ -6,7 +6,7 @@ import '../src/dbp-auth-demo';
suite('dbp-auth basics', () => { suite('dbp-auth basics', () => {
let node; let node;
suiteSetup(async () => { setup(async () => {
node = document.createElement('dbp-auth-keycloak'); node = document.createElement('dbp-auth-keycloak');
node.setAttribute('url', 'someurl'); node.setAttribute('url', 'someurl');
node.setAttribute('realm', 'somerealm'); node.setAttribute('realm', 'somerealm');
...@@ -15,7 +15,7 @@ suite('dbp-auth basics', () => { ...@@ -15,7 +15,7 @@ suite('dbp-auth basics', () => {
await node.updateComplete; await node.updateComplete;
}); });
suiteTeardown(() => { teardown(() => {
node.remove(); node.remove();
}); });
...@@ -27,13 +27,13 @@ suite('dbp-auth basics', () => { ...@@ -27,13 +27,13 @@ suite('dbp-auth basics', () => {
suite('dbp-login-button', () => { suite('dbp-login-button', () => {
let node; let node;
suiteSetup(async () => { setup(async () => {
node = document.createElement('dbp-login-button'); node = document.createElement('dbp-login-button');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
suiteTeardown(() => { teardown(() => {
node.remove(); node.remove();
}); });
...@@ -45,13 +45,13 @@ suite('dbp-login-button', () => { ...@@ -45,13 +45,13 @@ suite('dbp-login-button', () => {
suite('dbp-auth-demo basics', () => { suite('dbp-auth-demo basics', () => {
let node; let node;
suiteSetup(async () => { setup(async () => {
node = document.createElement('dbp-auth-demo'); node = document.createElement('dbp-auth-demo');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
suiteTeardown(() => { teardown(() => {
node.remove(); node.remove();
}); });
......
// Trick to use the auto-downloaded puppeteer chrome binary // Trick to use the auto-downloaded puppeteer chrome binary
process.env.CHROME_BIN = require('puppeteer').executablePath(); process.env.CHROME_BIN = require('puppeteer').executablePath();
const pkg = require('./package.json');
module.exports = function(config) { module.exports = function(config) {
config.set({ config.set({
basePath: 'dist', basePath: 'dist',
frameworks: ['mocha', 'chai'], frameworks: ['mocha'],
client: {
mocha: {
ui: 'tdd',
},
},
files: [ files: [
{pattern: './*.js', included: true, watched: true, served: true, type: 'module'}, {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
{pattern: './**/*', included: false, watched: true, served: true}, {pattern: './**/*', included: false, watched: true, served: true},
], ],
autoWatch: true, autoWatch: true,
browsers: ['ChromeHeadlessNoSandbox'], browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
customLaunchers: { customLaunchers: {
ChromeHeadlessNoSandbox: { ChromeHeadlessNoSandbox: {
base: 'ChromeHeadless', base: 'ChromeHeadless',
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
"chai": "^4.2.0", "chai": "^4.2.0",
"i18next-scanner": "^2.10.2", "i18next-scanner": "^2.10.2",
"karma": "^5.1.0", "karma": "^5.1.0",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.0.0", "karma-chrome-launcher": "^3.0.0",
"karma-firefox-launcher": "^1.3.0",
"karma-mocha": "^2.0.1", "karma-mocha": "^2.0.1",
"mocha": "^8.0.1", "mocha": "^8.0.1",
"puppeteer": "^5.3.1", "puppeteer": "^5.3.1",
......
...@@ -24,6 +24,10 @@ export default (async () => { ...@@ -24,6 +24,10 @@ export default (async () => {
sourcemap: true sourcemap: true
}, },
onwarn: function (warning, warn) { onwarn: function (warning, warn) {
// ignore chai warnings
if (warning.code === 'CIRCULAR_DEPENDENCY') {
return;
}
warn(warning); warn(warning);
}, },
plugins: [ plugins: [
......
import {assert} from 'chai';
import '../src/dbp-check-in-place-select.js'; import '../src/dbp-check-in-place-select.js';
import '../src/demo.js'; import '../src/demo.js';
describe('dbp-check-in-place-select basics', () => { suite('dbp-check-in-place-select basics', () => {
let node; let node;
beforeEach(async () => { setup(async () => {
node = document.createElement('dbp-check-in-place-select'); node = document.createElement('dbp-check-in-place-select');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
afterEach(() => { teardown(() => {
node.remove(); node.remove();
}); });
it('should render', () => { test('should render', () => {
expect(node).to.have.property('shadowRoot'); assert.isNotNull(node.shadowRoot);
}); });
}); });
describe('dbp-check-in-place-select-demo basics', () => { suite('dbp-check-in-place-select-demo basics', () => {
let node; let node;
beforeEach(async () => { setup(async () => {
node = document.createElement('dbp-check-in-place-select-demo'); node = document.createElement('dbp-check-in-place-select-demo');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
afterEach(() => { teardown(() => {
node.remove(); node.remove();
}); });
it('should render', () => { test('should render', () => {
expect(node).to.have.property('shadowRoot'); assert.isNotNull(node.shadowRoot);
}); });
}); });
...@@ -6,13 +6,13 @@ import '../src/dbp-data-table-view-demo'; ...@@ -6,13 +6,13 @@ import '../src/dbp-data-table-view-demo';
suite('dbp-data-table-view basics', () => { suite('dbp-data-table-view basics', () => {
let node; let node;
suiteSetup(async () => { setup(async () => {
node = document.createElement('dbp-data-table-view'); node = document.createElement('dbp-data-table-view');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
suiteTeardown(() => { teardown(() => {
node.remove(); node.remove();
}); });
...@@ -24,13 +24,13 @@ suite('dbp-data-table-view basics', () => { ...@@ -24,13 +24,13 @@ suite('dbp-data-table-view basics', () => {
suite('dbp-data-table-view-demo basics', () => { suite('dbp-data-table-view-demo basics', () => {
let node; let node;
suiteSetup(async () => { setup(async () => {
node = document.createElement('dbp-data-table-view-demo'); node = document.createElement('dbp-data-table-view-demo');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
suiteTeardown(() => { teardown(() => {
node.remove(); node.remove();
}); });
......
...@@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath(); ...@@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath();
module.exports = function(config) { module.exports = function(config) {
config.set({ config.set({
basePath: 'dist', basePath: 'dist',
frameworks: ['mocha', 'chai'], frameworks: ['mocha'],
client: {
mocha: {
ui: 'tdd',
},
},
files: [ files: [
{pattern: './*.js', included: true, watched: true, served: true, type: 'module'}, {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
{pattern: './**/*', included: false, watched: true, served: true}, {pattern: './**/*', included: false, watched: true, served: true},
], ],
autoWatch: true, autoWatch: true,
browsers: ['ChromeHeadlessNoSandbox'], browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
customLaunchers: { customLaunchers: {
ChromeHeadlessNoSandbox: { ChromeHeadlessNoSandbox: {
base: 'ChromeHeadless', base: 'ChromeHeadless',
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
"chai": "^4.2.0", "chai": "^4.2.0",
"i18next-scanner": "^2.10.2", "i18next-scanner": "^2.10.2",
"karma": "^5.0.1", "karma": "^5.0.1",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.0.0", "karma-chrome-launcher": "^3.0.0",
"karma-firefox-launcher": "^1.3.0",
"karma-mocha": "^2.0.0", "karma-mocha": "^2.0.0",
"mocha": "^8.0.1", "mocha": "^8.0.1",
"puppeteer": "^5.3.1", "puppeteer": "^5.3.1",
......
...@@ -25,6 +25,13 @@ export default (async () => { ...@@ -25,6 +25,13 @@ export default (async () => {
format: 'esm', format: 'esm',
sourcemap: true sourcemap: true
}, },
onwarn: function (warning, warn) {
// ignore chai warnings
if (warning.code === 'CIRCULAR_DEPENDENCY') {
return;
}
warn(warning);
},
plugins: [ plugins: [
del({ del({
targets: 'dist/*' targets: 'dist/*'
......
import {assert} from 'chai';
import '../src/dbp-file-source'; import '../src/dbp-file-source';
import '../src/demo'; import '../src/demo';
describe('dbp-file-source basics', () => { suite('dbp-file-source basics', () => {
let node; let node;
beforeEach(async () => { setup(async () => {
node = document.createElement('dbp-file-source'); node = document.createElement('dbp-file-source');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
afterEach(() => { teardown(() => {
node.remove(); node.remove();
}); });
it('should render', () => { test('should render', () => {
expect(node).to.have.property('shadowRoot'); assert.isNotNull(node.shadowRoot);
}); });
}); });
describe('dbp-file-source demo', () => { suite('dbp-file-source demo', () => {
let node; let node;
beforeEach(async () => { setup(async () => {
node = document.createElement('dbp-file-source-demo'); node = document.createElement('dbp-file-source-demo');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
afterEach(() => { teardown(() => {
node.remove(); node.remove();
}); });
it('should render', () => { test('should render', () => {
expect(node).to.have.property('shadowRoot'); assert.isNotNull(node.shadowRoot);
}); });
}); });
...@@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath(); ...@@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath();
module.exports = function(config) { module.exports = function(config) {
config.set({ config.set({
basePath: 'dist', basePath: 'dist',
frameworks: ['mocha', 'chai'], frameworks: ['mocha'],
client: {
mocha: {
ui: 'tdd',
},
},
files: [ files: [
{pattern: './*.js', included: true, watched: true, served: true, type: 'module'}, {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
{pattern: './**/*', included: false, watched: true, served: true}, {pattern: './**/*', included: false, watched: true, served: true},
], ],
autoWatch: true, autoWatch: true,
browsers: ['ChromeHeadlessNoSandbox'], browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
customLaunchers: { customLaunchers: {
ChromeHeadlessNoSandbox: { ChromeHeadlessNoSandbox: {
base: 'ChromeHeadless', base: 'ChromeHeadless',
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
"@rollup/plugin-url": "^5.0.1", "@rollup/plugin-url": "^5.0.1",
"chai": "^4.2.0", "chai": "^4.2.0",
"karma": "^5.1.0", "karma": "^5.1.0",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.0.0", "karma-chrome-launcher": "^3.0.0",
"karma-firefox-launcher": "^1.3.0",
"karma-mocha": "^2.0.1", "karma-mocha": "^2.0.1",
"mocha": "^8.0.1", "mocha": "^8.0.1",
"puppeteer": "^5.3.1", "puppeteer": "^5.3.1",
......
...@@ -24,6 +24,10 @@ export default (async () => { ...@@ -24,6 +24,10 @@ export default (async () => {
sourcemap: true sourcemap: true
}, },
onwarn: function (warning, warn) { onwarn: function (warning, warn) {
// ignore chai warnings
if (warning.code === 'CIRCULAR_DEPENDENCY') {
return;
}
warn(warning); warn(warning);
}, },
plugins: [ plugins: [
......
import {assert} from 'chai';
import '../src/dbp-knowledge-base-web-page-element-view.js'; import '../src/dbp-knowledge-base-web-page-element-view.js';
import '../src/dbp-knowledge-base-web-page-element-view-demo.js'; import '../src/dbp-knowledge-base-web-page-element-view-demo.js';
describe('dbp-knowledge-base-web-page-element-view basics', () => { suite('dbp-knowledge-base-web-page-element-view basics', () => {
let node; let node;
beforeEach(async () => { setup(async () => {
node = document.createElement('dbp-knowledge-base-web-page-element-view'); node = document.createElement('dbp-knowledge-base-web-page-element-view');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
afterEach(() => { teardown(() => {
node.remove(); node.remove();
}); });
it('should render', () => { test('should render', () => {
expect(node).to.have.property('shadowRoot'); assert.isNotNull(node.shadowRoot);
}); });
}); });
describe('dbp-knowledge-base-web-page-element-view demo', () => { suite('dbp-knowledge-base-web-page-element-view demo', () => {
let node; let node;
beforeEach(async () => { setup(async () => {
node = document.createElement('dbp-knowledge-base-web-page-element-view-demo'); node = document.createElement('dbp-knowledge-base-web-page-element-view-demo');
document.body.appendChild(node); document.body.appendChild(node);
await node.updateComplete; await node.updateComplete;
}); });
afterEach(() => { teardown(() => {
node.remove(); node.remove();
}); });
it('should render', () => { test('should render', () => {
expect(node).to.have.property('shadowRoot'); assert.isNotNull(node.shadowRoot);
}); });
}); });
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment