690514:2019 204-rfa-approval-refactor #01
CI / CD Pipeline / build (push) Successful in 6m1s
CI / CD Pipeline / deploy (push) Failing after 6m42s

This commit is contained in:
2026-05-14 20:19:21 +07:00
parent 07cc6d47b1
commit 0240d80da5
183 changed files with 20050 additions and 1017 deletions
@@ -0,0 +1,59 @@
// File: tests/unit/distribution/transmittal-creator.service.spec.ts
// Change Log
// - 2026-05-14: Add regression coverage for Distribution Matrix response-code filtering.
import { TransmittalCreatorService } from '../../../src/modules/distribution/services/transmittal-creator.service';
import { DistributionMatrix } from '../../../src/modules/distribution/entities/distribution-matrix.entity';
import { DistributionRecipient } from '../../../src/modules/distribution/entities/distribution-recipient.entity';
import { DocumentNumberingService } from '../../../src/modules/document-numbering/services/document-numbering.service';
import { DataSource, Repository } from 'typeorm';
type MatrixRepositoryMock = {
findOne: jest.MockedFunction<
(options: unknown) => Promise<DistributionMatrix | null>
>;
};
describe('TransmittalCreatorService', () => {
const matrixRepo: MatrixRepositoryMock = {
findOne: jest.fn(),
};
const dataSource = {
manager: {
findOne: jest.fn(),
},
query: jest.fn(),
createQueryRunner: jest.fn(),
};
const numberingService = {
generateNextNumber: jest.fn(),
};
beforeEach(() => {
jest.clearAllMocks();
});
it('skips distribution when the response code is excluded', async () => {
const service = new TransmittalCreatorService(
matrixRepo as unknown as Repository<DistributionMatrix>,
dataSource as unknown as DataSource,
numberingService as unknown as DocumentNumberingService
);
matrixRepo.findOne.mockResolvedValue({
conditions: { excludeCodes: ['3', '4'] },
recipients: [{} as DistributionRecipient],
} as DistributionMatrix);
const result = await service.createFromDistribution({
rfaPublicId: '019505a1-7c3e-7000-8000-000000000001',
rfaRevisionPublicId: '019505a1-7c3e-7000-8000-000000000002',
projectId: 1,
documentTypeId: 2,
responseCode: '3',
});
expect(result).toEqual({
transmittalPublicIds: [],
notificationTargets: [],
});
});
});