Files
ihaleist/tests/d10-current-lab-fixture.test.mjs

28 lines
1.1 KiB
JavaScript

import { test } from 'node:test';
import assert from 'node:assert/strict';
import { currentLabAcceptanceCases as cases } from './fixtures/d10-current-lab.mjs';
test('D10 current laboratory acceptance fixture is complete and explicit', () => {
assert.equal(cases.length, 5);
assert.equal(new Set(cases.map(({ ikn }) => ikn)).size, 5);
assert.equal(new Set(cases.map(({ id }) => id)).size, 5);
for (const item of cases) {
assert.match(item.ikn, /^2026\/\d{7}$/);
assert.match(item.id, /^ilan-\d+$/);
assert.match(item.date, /^\d{2}\.\d{2}\.2026$/);
assert.match(item.time, /^\d{2}:\d{2}$/);
assert.ok(item.titleTerm);
assert.ok(item.natureTerm);
assert.ok(item.deliveryTerm);
assert.ok([60, 120].includes(item.validityDays));
assert.ok(item.partialOfferTerm);
assert.ok(item.requirements.length >= 5);
assert.equal(new Set(item.requirements.map(({ key }) => key)).size, item.requirements.length);
for (const requirement of item.requirements) {
assert.ok(requirement.label);
assert.ok(requirement.term);
}
}
});