Files
lab-console-git-branching-2/tests/card_contract.test.mjs
T

6 lines
897 B
JavaScript

import assert from 'node:assert/strict'; import { access, readFile } from 'node:fs/promises'; import test from 'node:test';
const source=JSON.parse(await readFile(new URL('../json/card_source.json',import.meta.url),'utf8'));
test('L07 identity and task order are stable',()=>{assert.equal(source.card.number,'07');assert.equal(source.card.uuid,'8b4d0b43-03db-5c02-99e2-914728411a74');assert.deepEqual(source.tasks_order,['task01','task02','task03']);});
test('rebase, conflict, resolution and verification are explicit',()=>{const text=JSON.stringify(source);for(const token of ['rebase','UU','purple','continue','merges=0','trace.log'])assert.match(text,new RegExp(token,'i'));});
test('all task sources exist',async()=>{for(const name of ['task01_rebase_deliberately','task02_resolve_conflict','task03_verify_linear_history'])await access(new URL(`../src/tasks/${name}.sh`,import.meta.url));});