Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { BorrowService } from './../core/services/borrow.service';
- import { BooksService } from './books.service';
- import { BooksController } from './books.controller';
- import { Test, TestingModule } from '@nestjs/testing';
- import { PassportModule } from '@nestjs/passport';
- import { RateService } from '../core/services';
- describe('UsersController', () => {
- let controller: BooksController;
- let booksService: any;
- let rateBooksService: any;
- let borrowService: any;
- beforeEach(async () => {
- booksService = {
- getAllBooks() {/* empty */ },
- getBookById() {/* empty */ },
- createBook() {/* empty */ },
- createBookByISBN() {/* empty */ },
- updateBookCover() {/* empty */ },
- updateBook() {/* empty */ },
- deleteBook() {/* empty */ },
- };
- rateBooksService = {
- };
- borrowService = {
- };
- const module: TestingModule = await Test.createTestingModule({
- controllers: [BooksController],
- providers: [
- {
- provide: BooksService,
- useValue: booksService,
- },
- {
- provide: RateService,
- useValue: rateBooksService,
- },
- {
- provide: BorrowService,
- useValue: borrowService,
- },
- ],
- imports: [
- PassportModule.register({ defaultStrategy: 'jwt' }),
- ],
- }).compile();
- controller = module.get<BooksController>(BooksController);
- });
- it('should be defined', () => {
- expect(controller).toBeDefined();
- });
- describe('getAllBooks()', () => {
- it('should call booksService.getAllBooks()', async () => {
- const spy = jest.spyOn(booksService, 'getAllBooks');
- await controller.getAllBooks({});
- expect(booksService.getAllBooks).toHaveBeenCalledTimes(1);
- spy.mockClear();
- });
- it('should return the result from booksService.getAllBooks()', async () => {
- const fakeBooks = [{ title: 'test1' }, { title: 'test2' }];
- const expectedResult = [{ title: 'test1' }, { title: 'test2' }];
- const spy = jest
- .spyOn(booksService, 'getAllBooks')
- .mockReturnValue(Promise.resolve(fakeBooks));
- const result = await controller.getAllBooks({});
- expect(result).toEqual(expectedResult);
- spy.mockClear();
- });
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement