add source code

This commit is contained in:
Michał Chudy
2025-11-14 15:51:00 +01:00
parent df0ef23857
commit b9972746aa
223 changed files with 24651 additions and 46774 deletions

View File

@@ -0,0 +1,68 @@
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { Podmiot2 } from '../../types/fa1.types';
import { generatePodmiot2 } from './Podmiot2';
vi.mock('../../../shared/PDF-functions', () => ({
createHeader: vi.fn((label: string) => [{ text: `HEADER:${label}` }]),
createLabelText: vi.fn((label: string, value: any) => ({
text: `LABEL:${label}${typeof value === 'object' && value?._text ? value._text : value}`,
})),
formatText: vi.fn((text: string, _args?: any) => ({ text: `FMT:${text}` })),
getTable: vi.fn((data) => data || []),
getValue: vi.fn((val) => val?._text || ''),
hasValue: vi.fn((val) => Boolean(val && val._text)),
}));
vi.mock('./PodmiotAdres', () => ({
generatePodmiotAdres: vi.fn((adres: any, label: string) => ({ adr: label })),
}));
vi.mock('./PodmiotDaneIdentyfikacyjne', () => ({
generateDaneIdentyfikacyjne: vi.fn(() => [{ id: 'ID' }]),
}));
vi.mock('./PodmiotDaneKontaktowe', () => ({
generateDaneKontaktowe: vi.fn(() => [{ contact: 'KONTAKT' }]),
}));
describe('generatePodmiot2', () => {
beforeEach(() => vi.clearAllMocks());
it('renders header and base fields', () => {
const podmiot2: Podmiot2 = {
NrEORI: { _text: 'EORI777' },
};
const result = generatePodmiot2(podmiot2);
expect(result).toEqual(
expect.arrayContaining([{ text: 'HEADER:Nabywca' }, { text: 'LABEL:NrEORI: EORI777' }])
);
});
it('adds PrefiksNabywcy if hasValue true', () => {
const podmiot2: Podmiot2 = {
NrEORI: { _text: 'EORI1' },
PrefiksNabywcy: { _text: 'PN1' },
};
const result = generatePodmiot2(podmiot2);
expect(result).toEqual(expect.arrayContaining([{ text: 'LABEL:Prefiks VAT: PN1' }]));
});
it('includes contact info when Email or Telefon present', () => {
const podmiot2: Podmiot2 = {
NrEORI: { _text: 'EORI4' },
Email: { _text: 'test@mail.com' },
};
const result = generatePodmiot2(podmiot2);
expect(result).toEqual(expect.arrayContaining([{ text: 'FMT:Dane kontaktowe' }, { contact: 'KONTAKT' }]));
});
it('includes NrKlienta label if present', () => {
const podmiot2: Podmiot2 = {
NrEORI: { _text: 'EORI5' },
NrKlienta: { _text: 'NR1234' },
};
const result = generatePodmiot2(podmiot2);
expect(result).toEqual(expect.arrayContaining([{ text: 'LABEL:Numer klienta: NR1234' }]));
});
});