All checks were successful
dev - build & deploy naar test / build-and-deploy (push) Successful in 55s
34 lines
1.5 KiB
JavaScript
34 lines
1.5 KiB
JavaScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { readFile } from 'node:fs/promises';
|
|
|
|
test('leerkracht bouwt visueel een reeks en geeft die in één actie aan meerdere doelgroepen', async () => {
|
|
const [cast, admin, css, core] = await Promise.all([
|
|
readFile('public/js/cast.js', 'utf8'),
|
|
readFile('public/js/admin.js', 'utf8'),
|
|
readFile('public/css/teach.css', 'utf8'),
|
|
readFile('public/js/core.js', 'utf8'),
|
|
]);
|
|
|
|
assert.match(cast, /castShareKind\s*=\s*"path"/);
|
|
assert.match(cast, /castSelectedTargets\s*=\s*new Set/);
|
|
assert.match(cast, /cast-widget-card/);
|
|
assert.match(cast, /castPathSteps\.push/);
|
|
assert.match(cast, /slice\(0,12-castPathSteps\.length\)/);
|
|
assert.match(cast, /castPupilCoveredByClass/);
|
|
assert.match(cast, /Promise\.allSettled\(targets\.map/);
|
|
assert.match(cast, /castSendSelected/);
|
|
|
|
assert.match(admin, /assignment-composer-cta[\s\S]*btnCast/);
|
|
assert.match(css, /cast-widget-grid[\s\S]*cast-path-step[\s\S]*cast-target-grid/);
|
|
assert.match(css, /cast-sendbar\{position:sticky/);
|
|
assert.match(css, /@media \(max-width:700px\)[\s\S]*cast-composer-sheet/);
|
|
|
|
for (const key of [
|
|
'castIntro', 'castKindPath', 'castLiveStateHint', 'castWidgetLibrary', 'castSequenceOrder',
|
|
'castAudienceTitle', 'castSelectVisible', 'castSend', 'castSent',
|
|
'castNeedPath', 'castNeedTarget', 'castOpenComposer',
|
|
]) {
|
|
assert.equal(core.split(`${key}:`).length - 1, 2, `${key} moet tweetalig zijn`);
|
|
}
|
|
});
|