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,67 @@
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { Podmiot1, Podmiot1K } from '../../types/fa1.types';
import { generatePodmiot1Podmiot1K } from './Podmiot1Podmiot1K';
import { Content } from 'pdfmake/interfaces';
vi.mock('../../../shared/PDF-functions', () => ({
createHeader: vi.fn((label: string) => [{ text: `HEADER:${label}` }]),
createLabelText: vi.fn((label: string, value: any) => ({
text: `LABEL:${label}${value && value._text ? value._text : value}`,
})),
createSubHeader: vi.fn((label: string) => ({ text: `SUBHEADER:${label}` })),
verticalSpacing: vi.fn((v: number) => ({ text: `SPACING:${v}` })),
getTable: vi.fn((data) => data || []),
}));
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('generatePodmiot1Podmiot1K', () => {
beforeEach(() => vi.clearAllMocks());
it('puts DaneIdentyfikacyjne & status in firstColumn', () => {
const podmiot1: Podmiot1 = {
NrEORI: { _text: 'EORI' },
DaneIdentyfikacyjne: { NIP: { _text: '777' } },
StatusInfoPodatnika: { _text: 'AKTYWNY' },
};
const podmiot1K: Podmiot1K = {};
const result: any = generatePodmiot1Podmiot1K(podmiot1, podmiot1K);
const firstCol: Content = result.find((r: any) => r.columns)?.columns[0];
expect(firstCol).toEqual(
expect.arrayContaining([
{ text: 'SUBHEADER:Dane identyfikacyjne' },
{ text: 'LABEL:Numer EORI: EORI' },
{ id: 'ID' },
{ text: 'LABEL:Status podatnika: AKTYWNY' },
])
);
});
it('adds contact if Email present', () => {
const podmiot1: Podmiot1 = {
NrEORI: { _text: 'EORI' },
Email: { _text: 'mail@ex.pl' },
};
const podmiot1K: Podmiot1K = {};
const result: any = generatePodmiot1Podmiot1K(podmiot1, podmiot1K);
const firstCol: Content = result.find((r: any) => r.columns)?.columns[0];
expect(firstCol).toEqual(expect.arrayContaining([{ contact: 'KONTAKT' }]));
});
it('adds verticalSpacing at the end', () => {
const podmiot1: Podmiot1 = { NrEORI: { _text: 'EORI' } };
const podmiot1K: Podmiot1K = {};
const result: Content[] = generatePodmiot1Podmiot1K(podmiot1, podmiot1K);
expect(result[result.length - 1]).toEqual({ text: 'SPACING:1' });
});
});