mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-08 16:39:42 +02:00
COD-8 add away digest
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { readFileSync } from 'node:fs';
|
||||
import { join } from 'node:path';
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
const indexHtml = readFileSync(join(process.cwd(), 'src/web/public/index.html'), 'utf-8');
|
||||
const panelsJs = readFileSync(join(process.cwd(), 'src/web/public/panels-ui.js'), 'utf-8');
|
||||
const stylesCss = readFileSync(join(process.cwd(), 'src/web/public/styles.css'), 'utf-8');
|
||||
const mobileCss = readFileSync(join(process.cwd(), 'src/web/public/mobile.css'), 'utf-8');
|
||||
|
||||
describe('away digest UI', () => {
|
||||
it('exposes a header entry point and modal shell', () => {
|
||||
expect(indexHtml).toContain('onclick="app.openAwayDigest()"');
|
||||
expect(indexHtml).toContain('aria-label="Open away digest"');
|
||||
expect(indexHtml).toContain('id="awayDigestModal"');
|
||||
expect(indexHtml).toContain('id="awayDigestSummary"');
|
||||
expect(indexHtml).toContain('id="awayDigestSections"');
|
||||
});
|
||||
|
||||
it('offers supported range controls', () => {
|
||||
expect(indexHtml).toContain('data-away-range="since-last-visit"');
|
||||
expect(indexHtml).toContain('data-away-range="1h"');
|
||||
expect(indexHtml).toContain('data-away-range="today"');
|
||||
expect(indexHtml).toContain('data-away-range="24h"');
|
||||
expect(indexHtml).toContain('id="awayDigestCustomSince"');
|
||||
expect(indexHtml).toContain('id="awayDigestCustomUntil"');
|
||||
});
|
||||
|
||||
it('fetches the aggregate endpoint and preserves since-last-visit until successful close', () => {
|
||||
expect(panelsJs).toContain('/api/away-digest');
|
||||
expect(panelsJs).toContain('codeman-away-digest-last-viewed');
|
||||
expect(panelsJs).toContain('openAwayDigest');
|
||||
expect(panelsJs).toContain('closeAwayDigest');
|
||||
});
|
||||
|
||||
it('has desktop and mobile layout styles', () => {
|
||||
expect(stylesCss).toContain('.away-digest-modal');
|
||||
expect(stylesCss).toContain('.away-digest-summary');
|
||||
expect(stylesCss).toContain('.away-digest-item');
|
||||
expect(mobileCss).toContain('.away-digest-modal');
|
||||
expect(mobileCss).toContain('.away-digest-ranges');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user