add source code
This commit is contained in:
67
src/lib-public/generators/FA1/Podmiot1Podmiot1K.spec.ts
Normal file
67
src/lib-public/generators/FA1/Podmiot1Podmiot1K.spec.ts
Normal 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' });
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user