[598-26][@ant] fix: восстановить unit-тест supplier-action после расширения конструктора — вернуть controller-typecheck в зелёное (TS2554)
Конструктор MarketplaceOrderSupplierActionService оброс cycleRepo и shipmentCreate (synthesizeIndividualShipment), тест остался на 4 аргументах со времён Эпика 4. Добавлены моки cycleRepo.create/shipmentCreate.execute + orderRepo.assignToCycle, инстанс собирается всеми 6 аргументами. tsc 0 ошибок, jest 19/19. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+17
-1
@@ -2,7 +2,9 @@ import { BadRequestException, ForbiddenException, NotFoundException } from '@nes
|
||||
import { MarketplaceOrderSupplierActionService } from './marketplace-order-supplier-action.service';
|
||||
import type { MarketplaceOrderDomainEntity } from '../../domain/entities/marketplace-order.entity';
|
||||
import type { MarketplaceOrderDomainRepository } from '../../domain/repositories/marketplace-order.repository';
|
||||
import type { MarketplaceConsolidatedRequestDomainRepository } from '../../domain/repositories/marketplace-consolidated-request.repository';
|
||||
import type { MarketplaceOfferCountersService } from './marketplace-offer-counters.service';
|
||||
import type { MarketplaceShipmentCreateService } from './marketplace-shipment-create.service';
|
||||
import type { MarketplaceCanonicalBlockchainPort } from '../../domain/ports/marketplace-canonical-blockchain.port';
|
||||
|
||||
function buildOrder(overrides: Partial<MarketplaceOrderDomainEntity> = {}): MarketplaceOrderDomainEntity {
|
||||
@@ -29,8 +31,20 @@ function buildMocks() {
|
||||
applyStatusTransition: jest
|
||||
.fn()
|
||||
.mockImplementation(async (id, status, reason) => buildOrder({ id, status, last_status_reason: reason } as any)),
|
||||
assignToCycle: jest.fn().mockResolvedValue(undefined as any),
|
||||
} as unknown as jest.Mocked<MarketplaceOrderDomainRepository>;
|
||||
|
||||
// individual accept оборачивает заказ в синтетическую заявку и формирует
|
||||
// Shipment (synthesizeIndividualShipment) — best-effort, но зависимости
|
||||
// в конструкторе обязательны.
|
||||
const cycleRepo: jest.Mocked<MarketplaceConsolidatedRequestDomainRepository> = {
|
||||
create: jest.fn().mockResolvedValue({ id: 'cycle-1' } as any),
|
||||
} as unknown as jest.Mocked<MarketplaceConsolidatedRequestDomainRepository>;
|
||||
|
||||
const shipmentCreate: jest.Mocked<MarketplaceShipmentCreateService> = {
|
||||
execute: jest.fn().mockResolvedValue({} as any),
|
||||
} as unknown as jest.Mocked<MarketplaceShipmentCreateService>;
|
||||
|
||||
const offerCounters: jest.Mocked<MarketplaceOfferCountersService> = {
|
||||
onOrderUnblocked: jest.fn().mockResolvedValue({} as any),
|
||||
} as unknown as jest.Mocked<MarketplaceOfferCountersService>;
|
||||
@@ -48,7 +62,7 @@ function buildMocks() {
|
||||
warn: jest.fn(),
|
||||
} as any;
|
||||
|
||||
return { orderRepo, offerCounters, chainPort, logger };
|
||||
return { orderRepo, cycleRepo, shipmentCreate, offerCounters, chainPort, logger };
|
||||
}
|
||||
|
||||
describe('MarketplaceOrderSupplierActionService', () => {
|
||||
@@ -59,7 +73,9 @@ describe('MarketplaceOrderSupplierActionService', () => {
|
||||
mocks = buildMocks();
|
||||
service = new MarketplaceOrderSupplierActionService(
|
||||
mocks.orderRepo,
|
||||
mocks.cycleRepo,
|
||||
mocks.offerCounters,
|
||||
mocks.shipmentCreate,
|
||||
mocks.chainPort,
|
||||
mocks.logger
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user