Witam, uczę się pisać w NestJS i przy okazji staram się podejść znacznie poważniej do dobrych praktyk, jakimi są testy automatyczne. Korzystam z narzędzia Jest.
Mam taką funkcję składającą się na logikę biznesową:
async upload(file: Express.Multer.File, user: User, request: Request): Promise<Upload> {}
Testując ją, muszę zastosować "atrapy" m.in. dla Express.Multer.File i Request. I tu mam pytanie, czy dla testów muszę zastosować obiekty o odpowiadających typach, czy mogę jednak wykorzystać to, że JS w runtime nie wykonuje sprawdzania typów?
Jeśli chodzi na przykład o parametr file, to funkcja wykorzystuje tylko pola file.originalname oraz file.buffer. Działa mi więc taki mock:
const mockFile: any = {
originalname: 'file.txt',
buffer: '[data buffer]',
};
Czy takie działanie jest złą praktyką? Mogę to tak zostawić czy jednak zdecydowanie powinienem natrudzić się by stworzyć instancje tych samych typów co we wnętrzu funkcji?
Z góry dziękuję za mądrą radę od doświadczonych osób i pozdrawiam :)