Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

269
Visualizações
How to create a test for the below controller?

do I need to write a test for the below code?

@Post()
    update(@Body() updateUserDto: UpdateUserDto, @Request() req) {
        return this.userService.update(req.user.user, updateUserDto);
      }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

I'm going to make some assumptions about injected properties of the controller class. For full setups, you can view my testing example repo here. This should be essentially what you're looking for though

describe('UserController (Unit)', () => {
  let controller: UserController;
  let service: MockedClass<UserService>;

  beforeAll(async () => {
    const modRef = await Test.createTestingModule({
      controllers: [UserController],
      providers: [
        {
          provide: UserService,
          useValue: {
            update: jest.fn().mockReturnValue({ hello: 'world' }),
          },
        }
      ],
    }).compile();
    controller = modRef.get(UserController);
    service = modRef.get(UserService);
  });
  it('should call update and return the value', () => {
    const bodyVal = objectThatMatchesUpdateUserDto;
    const reqVal = {
      user: {
        user: valueThatMatchesReqUserUser
      }
    };
    const res = controller.update(bodyVal, reqVal);
    expect(res).toEqual({ hello: 'world' });
    expect(service.update).toBeCalledWith(reqVal.user.user, bodyVal)
  });
});
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda