blob: 45a3548ae9bc33d60f327a425dcd714bf6f2f230 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
// new-task-button.test.mjs — visibility contract for the New Task button
//
// The New Task button lives in the global header and must be visible on all tabs.
// Run with: node --test web/test/new-task-button.test.mjs
import { describe, it } from 'node:test';
import assert from 'node:assert/strict';
import { newTaskButtonShouldShowOnTab } from '../app.js';
const ALL_TABS = ['tasks', 'active', 'running', 'stats'];
describe('new task button visibility', () => {
for (const tab of ALL_TABS) {
it(`is visible on "${tab}" tab`, () => {
assert.equal(newTaskButtonShouldShowOnTab(tab), true, `expected button to be visible on tab "${tab}"`);
});
}
it('is visible on any unknown future tab', () => {
assert.equal(newTaskButtonShouldShowOnTab('help'), true);
assert.equal(newTaskButtonShouldShowOnTab('templates'), true);
assert.equal(newTaskButtonShouldShowOnTab(''), true);
});
});
|