Skip to content
Snippets Groups Projects
temp-user.controller.spec.ts 1.64 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { HttpModule } from '@nestjs/axios';
    import { HttpStatus } from '@nestjs/common';
    
    Hugo SUBTIL's avatar
    Hugo SUBTIL committed
    import { Test, TestingModule } from '@nestjs/testing';
    import { MailerModule } from '../mailer/mailer.module';
    import { TempUserController } from './temp-user.controller';
    import { TempUserService } from './temp-user.service';
    
    describe('TempUserService', () => {
      let controller: TempUserController;
    
      const mockTempUserService = {
        findById: jest.fn(),
      };
    
      beforeEach(async () => {
        const module: TestingModule = await Test.createTestingModule({
          imports: [HttpModule, MailerModule],
          providers: [{ provide: TempUserService, useValue: mockTempUserService }],
          controllers: [TempUserController],
        }).compile();
    
        controller = module.get<TempUserController>(TempUserController);
      });
    
      it('should be defined', () => {
        expect(controller).toBeDefined();
      });
    
      describe('getTempUser', () => {
        it('should get temporary users', async () => {
          const tmpUser = { email: 'test@test.com', pendingStructuresLink: [] };
          mockTempUserService.findById.mockReturnValueOnce(tmpUser);
          expect(await controller.getTempUser('addq651')).toEqual(tmpUser);
        });
        it('should throw error in cas of no users', async () => {
          const tmpUser = null;
          mockTempUserService.findById.mockReturnValueOnce(tmpUser);
          try {
            await controller.getTempUser('addq651');
            // Fail test if above expression doesn't throw anything.
            expect(true).toBe(false);
          } catch (e) {
    
            expect(e.message).toEqual('Temp user does not exists');
    
    Hugo SUBTIL's avatar
    Hugo SUBTIL committed
            expect(e.status).toEqual(HttpStatus.BAD_REQUEST);
          }
        });
      });
    });