From 356f78b46564a0d84e8c5d01fd406981e2e7a29e Mon Sep 17 00:00:00 2001 From: Christoph Reiter <reiter.christoph@gmail.com> Date: Mon, 16 Nov 2020 13:22:01 +0100 Subject: [PATCH] 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. --- demo/package.json | 1 - demo/yarn.lock | 10 ------- package.json | 2 +- packages/app-shell/rollup.config.js | 2 +- packages/auth/karma.conf.js | 2 +- packages/auth/package.json | 2 +- packages/auth/test/unit.js | 14 +++++----- packages/check-in-place-select/karma.conf.js | 10 ++++--- packages/check-in-place-select/package.json | 2 +- .../check-in-place-select/rollup.config.js | 4 +++ packages/check-in-place-select/test/unit.js | 22 ++++++++------- packages/data-table-view/test/unit.js | 8 +++--- packages/file-handling/karma.conf.js | 9 +++++-- packages/file-handling/package.json | 2 +- packages/file-handling/rollup.config.js | 7 +++++ packages/file-handling/test/unit.js | 22 ++++++++------- .../karma.conf.js | 9 +++++-- .../package.json | 2 +- .../rollup.config.js | 4 +++ .../test/unit.js | 22 ++++++++------- packages/language-select/karma.conf.js | 9 +++++-- packages/language-select/package.json | 2 +- packages/language-select/rollup.config.js | 7 +++++ packages/language-select/test/unit.js | 27 ++++++++++--------- packages/matomo/karma.conf.js | 9 +++++-- packages/matomo/package.json | 2 +- packages/matomo/rollup.config.js | 4 +++ packages/matomo/test/unit.js | 24 ++++++++++++++--- packages/notification/karma.conf.js | 9 +++++-- packages/notification/package.json | 2 +- packages/notification/rollup.config.js | 7 +++++ packages/notification/test/unit.js | 12 +++++---- packages/person-profile/karma.conf.js | 9 +++++-- packages/person-profile/package.json | 2 +- packages/person-profile/rollup.config.js | 4 +++ packages/person-profile/test/unit.js | 12 +++++---- packages/person-select/karma.conf.js | 10 ++++--- packages/person-select/package.json | 2 +- packages/person-select/rollup.config.js | 4 +++ packages/person-select/test/unit.js | 22 ++++++++------- packages/qr-code-scanner/package.json | 2 +- packages/qr-code-scanner/test/unit.js | 4 +-- yarn.lock | 5 ---- 43 files changed, 221 insertions(+), 125 deletions(-) diff --git a/demo/package.json b/demo/package.json index 1817867a..346eba99 100644 --- a/demo/package.json +++ b/demo/package.json @@ -28,7 +28,6 @@ "glob": "^7.1.6", "i18next-scanner": "^2.10.3", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.1.0", "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", diff --git a/demo/yarn.lock b/demo/yarn.lock index e7fee0b4..c19d6ec4 100644 --- a/demo/yarn.lock +++ b/demo/yarn.lock @@ -4147,11 +4147,6 @@ jsprim@^1.2.2: json-schema "0.2.3" 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: version "3.5.0" resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.5.0.tgz#b4fd1f368245346658e781fec9675802489e15f6" @@ -4162,11 +4157,6 @@ jszip@^3.2.2, jszip@^3.5.0: readable-stream "~2.3.6" 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: version "3.1.0" resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz#805a586799a4d05f4e54f72a204979f3f3066738" diff --git a/package.json b/package.json index b1ca1d8d..eb8f3f93 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "packages/*" ], "scripts": { - "test": "lerna run test" + "test": "lerna run --parallel test" }, "author": "", "license": "LGPL-2.1-or-later", diff --git a/packages/app-shell/rollup.config.js b/packages/app-shell/rollup.config.js index acea48bc..9203f9a2 100644 --- a/packages/app-shell/rollup.config.js +++ b/packages/app-shell/rollup.config.js @@ -24,7 +24,7 @@ export default (async () => { onwarn: function (warning, warn) { // ignore chai warnings if (warning.code === 'CIRCULAR_DEPENDENCY') { - return; + return; } warn(warning); }, diff --git a/packages/auth/karma.conf.js b/packages/auth/karma.conf.js index b6731e57..f9cda6ad 100644 --- a/packages/auth/karma.conf.js +++ b/packages/auth/karma.conf.js @@ -15,7 +15,7 @@ module.exports = function(config) { {pattern: './**/*', included: false, watched: true, served: true}, ], autoWatch: true, - browsers: ['ChromeHeadlessNoSandbox'], + browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'], customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', diff --git a/packages/auth/package.json b/packages/auth/package.json index 2f616783..dd985976 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -17,8 +17,8 @@ "glob": "^7.1.6", "i18next-scanner": "^2.10.2", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/auth/test/unit.js b/packages/auth/test/unit.js index fee5e7c5..9995d6ef 100644 --- a/packages/auth/test/unit.js +++ b/packages/auth/test/unit.js @@ -6,7 +6,7 @@ import '../src/dbp-auth-demo'; suite('dbp-auth basics', () => { let node; - suiteSetup(async () => { + setup(async () => { node = document.createElement('dbp-auth-keycloak'); node.setAttribute('url', 'someurl'); node.setAttribute('realm', 'somerealm'); @@ -15,7 +15,7 @@ suite('dbp-auth basics', () => { await node.updateComplete; }); - suiteTeardown(() => { + teardown(() => { node.remove(); }); @@ -27,13 +27,13 @@ suite('dbp-auth basics', () => { suite('dbp-login-button', () => { let node; - suiteSetup(async () => { + setup(async () => { node = document.createElement('dbp-login-button'); document.body.appendChild(node); await node.updateComplete; }); - - suiteTeardown(() => { + + teardown(() => { node.remove(); }); @@ -45,13 +45,13 @@ suite('dbp-login-button', () => { suite('dbp-auth-demo basics', () => { let node; - suiteSetup(async () => { + setup(async () => { node = document.createElement('dbp-auth-demo'); document.body.appendChild(node); await node.updateComplete; }); - suiteTeardown(() => { + teardown(() => { node.remove(); }); diff --git a/packages/check-in-place-select/karma.conf.js b/packages/check-in-place-select/karma.conf.js index 4b99e08a..f9cda6ad 100644 --- a/packages/check-in-place-select/karma.conf.js +++ b/packages/check-in-place-select/karma.conf.js @@ -1,17 +1,21 @@ // Trick to use the auto-downloaded puppeteer chrome binary process.env.CHROME_BIN = require('puppeteer').executablePath(); -const pkg = require('./package.json'); module.exports = function(config) { config.set({ basePath: 'dist', - frameworks: ['mocha', 'chai'], + 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'], + browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'], customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', diff --git a/packages/check-in-place-select/package.json b/packages/check-in-place-select/package.json index ab6f3e30..36965425 100644 --- a/packages/check-in-place-select/package.json +++ b/packages/check-in-place-select/package.json @@ -13,8 +13,8 @@ "chai": "^4.2.0", "i18next-scanner": "^2.10.2", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/check-in-place-select/rollup.config.js b/packages/check-in-place-select/rollup.config.js index 0ea288b1..7c4bb333 100644 --- a/packages/check-in-place-select/rollup.config.js +++ b/packages/check-in-place-select/rollup.config.js @@ -24,6 +24,10 @@ export default (async () => { sourcemap: true }, onwarn: function (warning, warn) { + // ignore chai warnings + if (warning.code === 'CIRCULAR_DEPENDENCY') { + return; + } warn(warning); }, plugins: [ diff --git a/packages/check-in-place-select/test/unit.js b/packages/check-in-place-select/test/unit.js index d5498ceb..c8d13045 100644 --- a/packages/check-in-place-select/test/unit.js +++ b/packages/check-in-place-select/test/unit.js @@ -1,38 +1,40 @@ +import {assert} from 'chai'; + import '../src/dbp-check-in-place-select.js'; import '../src/demo.js'; -describe('dbp-check-in-place-select basics', () => { +suite('dbp-check-in-place-select basics', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-check-in-place-select'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); -describe('dbp-check-in-place-select-demo basics', () => { +suite('dbp-check-in-place-select-demo basics', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-check-in-place-select-demo'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); diff --git a/packages/data-table-view/test/unit.js b/packages/data-table-view/test/unit.js index 531a2bfe..7ce5434a 100644 --- a/packages/data-table-view/test/unit.js +++ b/packages/data-table-view/test/unit.js @@ -6,13 +6,13 @@ import '../src/dbp-data-table-view-demo'; suite('dbp-data-table-view basics', () => { let node; - suiteSetup(async () => { + setup(async () => { node = document.createElement('dbp-data-table-view'); document.body.appendChild(node); await node.updateComplete; }); - suiteTeardown(() => { + teardown(() => { node.remove(); }); @@ -24,13 +24,13 @@ suite('dbp-data-table-view basics', () => { suite('dbp-data-table-view-demo basics', () => { let node; - suiteSetup(async () => { + setup(async () => { node = document.createElement('dbp-data-table-view-demo'); document.body.appendChild(node); await node.updateComplete; }); - suiteTeardown(() => { + teardown(() => { node.remove(); }); diff --git a/packages/file-handling/karma.conf.js b/packages/file-handling/karma.conf.js index 6a646f5e..f9cda6ad 100644 --- a/packages/file-handling/karma.conf.js +++ b/packages/file-handling/karma.conf.js @@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath(); module.exports = function(config) { config.set({ basePath: 'dist', - frameworks: ['mocha', 'chai'], + 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'], + browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'], customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', diff --git a/packages/file-handling/package.json b/packages/file-handling/package.json index fe66a616..2fc9910d 100644 --- a/packages/file-handling/package.json +++ b/packages/file-handling/package.json @@ -11,8 +11,8 @@ "chai": "^4.2.0", "i18next-scanner": "^2.10.2", "karma": "^5.0.1", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.0", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/file-handling/rollup.config.js b/packages/file-handling/rollup.config.js index 3c597be1..48f897d0 100644 --- a/packages/file-handling/rollup.config.js +++ b/packages/file-handling/rollup.config.js @@ -25,6 +25,13 @@ export default (async () => { format: 'esm', sourcemap: true }, + onwarn: function (warning, warn) { + // ignore chai warnings + if (warning.code === 'CIRCULAR_DEPENDENCY') { + return; + } + warn(warning); + }, plugins: [ del({ targets: 'dist/*' diff --git a/packages/file-handling/test/unit.js b/packages/file-handling/test/unit.js index fee6e05b..ce2943ed 100644 --- a/packages/file-handling/test/unit.js +++ b/packages/file-handling/test/unit.js @@ -1,38 +1,40 @@ +import {assert} from 'chai'; + import '../src/dbp-file-source'; import '../src/demo'; -describe('dbp-file-source basics', () => { +suite('dbp-file-source basics', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-file-source'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); -describe('dbp-file-source demo', () => { +suite('dbp-file-source demo', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-file-source-demo'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); diff --git a/packages/knowledge-base-web-page-element-view/karma.conf.js b/packages/knowledge-base-web-page-element-view/karma.conf.js index 6a646f5e..f9cda6ad 100644 --- a/packages/knowledge-base-web-page-element-view/karma.conf.js +++ b/packages/knowledge-base-web-page-element-view/karma.conf.js @@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath(); module.exports = function(config) { config.set({ basePath: 'dist', - frameworks: ['mocha', 'chai'], + 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'], + browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'], customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', diff --git a/packages/knowledge-base-web-page-element-view/package.json b/packages/knowledge-base-web-page-element-view/package.json index 7d548031..467bfd4e 100644 --- a/packages/knowledge-base-web-page-element-view/package.json +++ b/packages/knowledge-base-web-page-element-view/package.json @@ -11,8 +11,8 @@ "@rollup/plugin-url": "^5.0.1", "chai": "^4.2.0", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/knowledge-base-web-page-element-view/rollup.config.js b/packages/knowledge-base-web-page-element-view/rollup.config.js index df8835f3..87bac9e1 100644 --- a/packages/knowledge-base-web-page-element-view/rollup.config.js +++ b/packages/knowledge-base-web-page-element-view/rollup.config.js @@ -24,6 +24,10 @@ export default (async () => { sourcemap: true }, onwarn: function (warning, warn) { + // ignore chai warnings + if (warning.code === 'CIRCULAR_DEPENDENCY') { + return; + } warn(warning); }, plugins: [ diff --git a/packages/knowledge-base-web-page-element-view/test/unit.js b/packages/knowledge-base-web-page-element-view/test/unit.js index 48263b32..43594f7f 100644 --- a/packages/knowledge-base-web-page-element-view/test/unit.js +++ b/packages/knowledge-base-web-page-element-view/test/unit.js @@ -1,38 +1,40 @@ +import {assert} from 'chai'; + import '../src/dbp-knowledge-base-web-page-element-view.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; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-knowledge-base-web-page-element-view'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); -describe('dbp-knowledge-base-web-page-element-view demo', () => { +suite('dbp-knowledge-base-web-page-element-view demo', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-knowledge-base-web-page-element-view-demo'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); diff --git a/packages/language-select/karma.conf.js b/packages/language-select/karma.conf.js index 6a646f5e..f9cda6ad 100644 --- a/packages/language-select/karma.conf.js +++ b/packages/language-select/karma.conf.js @@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath(); module.exports = function(config) { config.set({ basePath: 'dist', - frameworks: ['mocha', 'chai'], + 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'], + browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'], customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', diff --git a/packages/language-select/package.json b/packages/language-select/package.json index 23bd392a..6210a0ee 100644 --- a/packages/language-select/package.json +++ b/packages/language-select/package.json @@ -11,8 +11,8 @@ "chai": "^4.2.0", "i18next-scanner": "^2.10.2", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/language-select/rollup.config.js b/packages/language-select/rollup.config.js index 96f5a585..27a76937 100644 --- a/packages/language-select/rollup.config.js +++ b/packages/language-select/rollup.config.js @@ -20,6 +20,13 @@ export default { format: 'esm', sourcemap: true }, + onwarn: function (warning, warn) { + // ignore chai warnings + if (warning.code === 'CIRCULAR_DEPENDENCY') { + return; + } + warn(warning); + }, plugins: [ del({ targets: 'dist/*' diff --git a/packages/language-select/test/unit.js b/packages/language-select/test/unit.js index 54fb5b9d..b76d1f4c 100644 --- a/packages/language-select/test/unit.js +++ b/packages/language-select/test/unit.js @@ -1,7 +1,9 @@ +import {assert, expect} from 'chai'; + import '../src/dbp-language-select.js'; import '../src/demo.js'; -describe('dbp-language-select basics', () => { +suite('dbp-language-select basics', () => { let node; let events = []; @@ -9,7 +11,7 @@ describe('dbp-language-select basics', () => { events.push(e); } - beforeEach(async () => { + setup(async () => { events.length = 0; window.addEventListener('dbp-language-changed', handler); node = document.createElement('dbp-language-select'); @@ -17,16 +19,16 @@ describe('dbp-language-select basics', () => { await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); window.removeEventListener('dbp-language-changed', handler); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); - it('change language events', () => { + test('change language events', () => { node.lang = 'en'; expect(node.next).to.equal('de'); expect(events.length).to.equal(1); @@ -35,7 +37,8 @@ describe('dbp-language-select basics', () => { expect(events.length).to.equal(2); }); - it('change next', () => { + test('change next', () => { + expect(events.length).to.equal(0); node.lang = 'en'; expect(node.next).to.equal('de'); expect(node.lang).to.equal('en'); @@ -46,20 +49,20 @@ describe('dbp-language-select basics', () => { }); }); -describe('dbp-language-select demo', () => { +suite('dbp-language-select demo', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-language-select-demo'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); diff --git a/packages/matomo/karma.conf.js b/packages/matomo/karma.conf.js index 6a646f5e..f9cda6ad 100644 --- a/packages/matomo/karma.conf.js +++ b/packages/matomo/karma.conf.js @@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath(); module.exports = function(config) { config.set({ basePath: 'dist', - frameworks: ['mocha', 'chai'], + 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'], + browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'], customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', diff --git a/packages/matomo/package.json b/packages/matomo/package.json index 965f5a53..19794bcd 100644 --- a/packages/matomo/package.json +++ b/packages/matomo/package.json @@ -12,8 +12,8 @@ "chai": "^4.2.0", "i18next-scanner": "^2.10.2", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/matomo/rollup.config.js b/packages/matomo/rollup.config.js index 3f08b808..74206c84 100644 --- a/packages/matomo/rollup.config.js +++ b/packages/matomo/rollup.config.js @@ -52,6 +52,10 @@ export default (async () => { sourcemap: true }, onwarn: function (warning, warn) { + // ignore chai warnings + if (warning.code === 'CIRCULAR_DEPENDENCY') { + return; + } warn(warning); }, plugins: [ diff --git a/packages/matomo/test/unit.js b/packages/matomo/test/unit.js index bc2f3f5d..cbdbc701 100644 --- a/packages/matomo/test/unit.js +++ b/packages/matomo/test/unit.js @@ -1,3 +1,21 @@ -describe('dbp-matomo', () => { - it('should render', () => {}); -}); +import {assert} from 'chai'; +import '../src/dbp-matomo'; + +suite('dbp-matomo', () => { + let node; + + setup(async () => { + node = document.createElement('dbp-matomo'); + document.body.appendChild(node); + await node.updateComplete; + }); + + teardown(() => { + node.remove(); + }); + + test('should render', () => { + assert.isNotNull(node.shadowRoot); + }); + }); + \ No newline at end of file diff --git a/packages/notification/karma.conf.js b/packages/notification/karma.conf.js index 6a646f5e..f9cda6ad 100644 --- a/packages/notification/karma.conf.js +++ b/packages/notification/karma.conf.js @@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath(); module.exports = function(config) { config.set({ basePath: 'dist', - frameworks: ['mocha', 'chai'], + 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'], + browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'], customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', diff --git a/packages/notification/package.json b/packages/notification/package.json index dc68e356..7fae753c 100644 --- a/packages/notification/package.json +++ b/packages/notification/package.json @@ -12,8 +12,8 @@ "chai": "^4.2.0", "i18next-scanner": "^2.10.2", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/notification/rollup.config.js b/packages/notification/rollup.config.js index 639ffbd3..ff5162a1 100644 --- a/packages/notification/rollup.config.js +++ b/packages/notification/rollup.config.js @@ -21,6 +21,13 @@ export default { format: 'esm', sourcemap: true }, + onwarn: function (warning, warn) { + // ignore chai warnings + if (warning.code === 'CIRCULAR_DEPENDENCY') { + return; + } + warn(warning); + }, plugins: [ del({ targets: 'dist/*' diff --git a/packages/notification/test/unit.js b/packages/notification/test/unit.js index 786cfacb..e476e86b 100644 --- a/packages/notification/test/unit.js +++ b/packages/notification/test/unit.js @@ -1,19 +1,21 @@ +import {assert} from 'chai'; + import '../src/dbp-notification'; -describe('dbp-notification basics', () => { +suite('dbp-notification basics', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-notification'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); diff --git a/packages/person-profile/karma.conf.js b/packages/person-profile/karma.conf.js index 6a646f5e..f9cda6ad 100644 --- a/packages/person-profile/karma.conf.js +++ b/packages/person-profile/karma.conf.js @@ -4,13 +4,18 @@ process.env.CHROME_BIN = require('puppeteer').executablePath(); module.exports = function(config) { config.set({ basePath: 'dist', - frameworks: ['mocha', 'chai'], + 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'], + browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'], customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', diff --git a/packages/person-profile/package.json b/packages/person-profile/package.json index 04fbc1bc..4e8599c4 100644 --- a/packages/person-profile/package.json +++ b/packages/person-profile/package.json @@ -12,8 +12,8 @@ "chai": "^4.2.0", "i18next-scanner": "^2.10.2", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/person-profile/rollup.config.js b/packages/person-profile/rollup.config.js index 977c5a50..45b314c0 100644 --- a/packages/person-profile/rollup.config.js +++ b/packages/person-profile/rollup.config.js @@ -25,6 +25,10 @@ export default (async () => { sourcemap: true }, onwarn: function (warning, warn) { + // ignore chai warnings + if (warning.code === 'CIRCULAR_DEPENDENCY') { + return; + } warn(warning); }, plugins: [ diff --git a/packages/person-profile/test/unit.js b/packages/person-profile/test/unit.js index 8635f113..db0670b4 100644 --- a/packages/person-profile/test/unit.js +++ b/packages/person-profile/test/unit.js @@ -1,19 +1,21 @@ +import {assert} from 'chai'; + import '../src/dbp-person-profile-demo.js'; -describe('dbp-person-profile demo', () => { +suite('dbp-person-profile demo', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-person-profile-demo'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); diff --git a/packages/person-select/karma.conf.js b/packages/person-select/karma.conf.js index 4b99e08a..f9cda6ad 100644 --- a/packages/person-select/karma.conf.js +++ b/packages/person-select/karma.conf.js @@ -1,17 +1,21 @@ // Trick to use the auto-downloaded puppeteer chrome binary process.env.CHROME_BIN = require('puppeteer').executablePath(); -const pkg = require('./package.json'); module.exports = function(config) { config.set({ basePath: 'dist', - frameworks: ['mocha', 'chai'], + 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'], + browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'], customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', diff --git a/packages/person-select/package.json b/packages/person-select/package.json index 4d058df1..851b7300 100644 --- a/packages/person-select/package.json +++ b/packages/person-select/package.json @@ -13,8 +13,8 @@ "chai": "^4.2.0", "i18next-scanner": "^2.10.2", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/person-select/rollup.config.js b/packages/person-select/rollup.config.js index 274fa5e7..35abaaa5 100644 --- a/packages/person-select/rollup.config.js +++ b/packages/person-select/rollup.config.js @@ -24,6 +24,10 @@ export default (async () => { sourcemap: true }, onwarn: function (warning, warn) { + // ignore chai warnings + if (warning.code === 'CIRCULAR_DEPENDENCY') { + return; + } warn(warning); }, plugins: [ diff --git a/packages/person-select/test/unit.js b/packages/person-select/test/unit.js index ce021395..fcefa861 100644 --- a/packages/person-select/test/unit.js +++ b/packages/person-select/test/unit.js @@ -1,38 +1,40 @@ +import {assert} from 'chai'; + import '../src/dbp-person-select.js'; import '../src/demo.js'; -describe('dbp-person-select basics', () => { +suite('dbp-person-select basics', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-person-select'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); -describe('dbp-person-select-demo basics', () => { +suite('dbp-person-select-demo basics', () => { let node; - beforeEach(async () => { + setup(async () => { node = document.createElement('dbp-person-select-demo'); document.body.appendChild(node); await node.updateComplete; }); - afterEach(() => { + teardown(() => { node.remove(); }); - it('should render', () => { - expect(node).to.have.property('shadowRoot'); + test('should render', () => { + assert.isNotNull(node.shadowRoot); }); }); diff --git a/packages/qr-code-scanner/package.json b/packages/qr-code-scanner/package.json index 98ed6202..596d6c0a 100644 --- a/packages/qr-code-scanner/package.json +++ b/packages/qr-code-scanner/package.json @@ -14,8 +14,8 @@ "eslint-plugin-jsdoc": "^30.7.3", "i18next-scanner": "^2.10.2", "karma": "^5.1.0", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.0.0", + "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "mocha": "^8.0.1", "puppeteer": "^5.3.1", diff --git a/packages/qr-code-scanner/test/unit.js b/packages/qr-code-scanner/test/unit.js index 0537c74d..3e3340c1 100644 --- a/packages/qr-code-scanner/test/unit.js +++ b/packages/qr-code-scanner/test/unit.js @@ -5,13 +5,13 @@ import '../src/dbp-qr-code-scanner'; suite('dbp-qr-code-scanner basics', () => { let node; - suiteSetup(async () => { + setup(async () => { node = document.createElement('dbp-qr-code-scanner'); document.body.appendChild(node); await node.updateComplete; }); - suiteTeardown(() => { + teardown(() => { node.remove(); }); diff --git a/yarn.lock b/yarn.lock index c9493148..4c398165 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5072,11 +5072,6 @@ jszip@^3.2.2, jszip@^3.5.0: readable-stream "~2.3.6" 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: version "3.1.0" resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz#805a586799a4d05f4e54f72a204979f3f3066738" -- GitLab