Adiciona busca por codauxiliar em findProducts e cria API de busca unificada

- Modifica findProducts para buscar por CODPROD e CODAUXILIAR
- Adiciona testes para o método products
- Cria endpoint unified-search para busca unificada por nome, código de barras ou codprod
- Adiciona @IsOptional aos campos opcionais do ProductDetailQueryDto
- Adiciona testes para products.service
This commit is contained in:
joelson brito
2025-11-10 15:04:07 -03:00
parent 6afba4f3b4
commit e3acf34510
9 changed files with 505 additions and 3 deletions

View File

@@ -1,4 +1,5 @@
import { Test, TestingModule } from '@nestjs/testing';
import { Logger } from '@nestjs/common';
import { DataConsultService } from '../data-consult.service';
import { DataConsultRepository } from '../data-consult.repository';
import { IRedisClient } from '../../core/configs/cache/IRedisClient';
@@ -14,6 +15,8 @@ export const createMockRepository = (
findSellers: jest.fn(),
findBillings: jest.fn(),
findCustomers: jest.fn(),
findProducts: jest.fn(),
findProductsByCodauxiliar: jest.fn(),
findAllProducts: jest.fn(),
findAllCarriers: jest.fn(),
findRegions: jest.fn(),
@@ -31,6 +34,9 @@ export interface DataConsultServiceTestContext {
mockRepository: jest.Mocked<DataConsultRepository>;
mockRedisClient: jest.Mocked<IRedisClient>;
mockDataSource: jest.Mocked<DataSource>;
mockLogger: {
error: jest.Mock;
};
}
export async function createDataConsultServiceTestModule(
@@ -64,10 +70,21 @@ export async function createDataConsultServiceTestModule(
const service = module.get<DataConsultService>(DataConsultService);
const mockLogger = {
error: jest.fn(),
};
jest.spyOn(Logger.prototype, 'error').mockImplementation(
(message: any, ...optionalParams: any[]) => {
mockLogger.error(message, ...optionalParams);
},
);
return {
service,
mockRepository,
mockRedisClient,
mockDataSource,
mockLogger,
};
}