Skip to content
Snippets Groups Projects
contact.service.spec.ts 1.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • Bastien DUMONT's avatar
    Bastien DUMONT committed
    import { HttpModule } from '@nestjs/axios';
    
    import { HttpStatus } from '@nestjs/common';
    
    import { Test } from '@nestjs/testing';
    
    import { MailerMockService } from '../../test/mock/services/mailer.mock.service';
    import { ConfigurationService } from '../configuration/configuration.service';
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    import { MailerModule } from '../mailer/mailer.module';
    import { MailerService } from '../mailer/mailer.service';
    import { ContactService } from './contact.service';
    import { ContactMessage } from './schemas/contact-message.schema';
    
    
    describe('ContactService', () => {
    
      let contactService: ContactService;
    
    
      beforeEach(async () => {
    
        const module = await Test.createTestingModule({
    
          imports: [HttpModule, MailerModule],
          providers: [ContactService, ConfigurationService, { provide: MailerService, useClass: MailerMockService }],
    
        }).compile();
    
    
        contactService = module.get<ContactService>(ContactService);
    
      });
    
      it('should be defined', () => {
    
        expect(contactService).toBeDefined();
    
    
      it('should send message with status OK', async () => {
    
        const res = (await contactService.sendMessage(new ContactMessage())) as { data: { status: unknown } };
    
        expect(res.data.status).toBe(HttpStatus.OK);
      });