feat(enrich): field reordering, required-fields progress bar, and no-PDF upload state #267

Merged
marcel merged 20 commits from feat/issue-261-enrich-field-reorder-progress-bar-upload into main 2026-04-18 23:36:33 +02:00
2 changed files with 39 additions and 0 deletions
Showing only changes of commit 93fc8696fd - Show all commits

View File

@@ -0,0 +1,36 @@
import { describe, it, expect } from 'vitest';
import { countRequiredFilled } from './requiredFields';
describe('countRequiredFilled', () => {
it('returns 0 when all three fields are empty', () => {
expect(countRequiredFilled('', '', '')).toBe(0);
});
it('returns 1 when only title is set', () => {
expect(countRequiredFilled('Ein Brief', '', '')).toBe(1);
});
it('returns 1 when only dateIso is set', () => {
expect(countRequiredFilled('', '1920-05-01', '')).toBe(1);
});
it('returns 1 when only senderId is set', () => {
expect(countRequiredFilled('', '', 'person-uuid')).toBe(1);
});
it('returns 2 when title and dateIso are set', () => {
expect(countRequiredFilled('Ein Brief', '1920-05-01', '')).toBe(2);
});
it('returns 2 when title and senderId are set', () => {
expect(countRequiredFilled('Ein Brief', '', 'person-uuid')).toBe(2);
});
it('returns 2 when dateIso and senderId are set', () => {
expect(countRequiredFilled('', '1920-05-01', 'person-uuid')).toBe(2);
});
it('returns 3 when all three fields are set', () => {
expect(countRequiredFilled('Ein Brief', '1920-05-01', 'person-uuid')).toBe(3);
});
});

View File

@@ -0,0 +1,3 @@
export function countRequiredFilled(title: string, dateIso: string, senderId: string): number {
return [title, dateIso, senderId].filter(Boolean).length;
}