Advertisement
Guest User

Untitled

a guest
May 20th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. import { AdminService } from "../admin.service";
  2. import { Test, TestingModule } from '@nestjs/testing';
  3. import { User } from "../../entity/User";
  4. import { getRepositoryToken } from "@nestjs/typeorm";
  5. import { async } from "rxjs/internal/scheduler/async";
  6. import { BanStatus } from "../../entity/ban-status";
  7. import { PostEntity } from "../../entity/Post";
  8. import { FlagPost } from "../../entity/Flag";
  9.  
  10. describe('AuthService', () => {
  11. let service: AdminService;
  12.  
  13. let userRepo = {
  14. findOne: () => { },
  15. save: (_) => { }
  16. }
  17. let banRepo = {
  18. findOne: () => { },
  19. save: (_) => { }
  20. }
  21. beforeEach(async () => {
  22. const module: TestingModule = await Test.createTestingModule({
  23. providers: [
  24. AdminService, BanStatus, PostEntity, FlagPost,
  25. {
  26. provide: getRepositoryToken(User),
  27. useValue: userRepo,
  28. },
  29.  
  30. ],
  31. }).compile();
  32.  
  33. service = module.get<AdminService>(AdminService);
  34. });
  35.  
  36. describe('banUser', async () => {
  37. it('should call findOne ones', async () => {
  38.  
  39. const user = {
  40. id: '3',
  41. email: 'asdf@abv.bg',
  42. username: 'Pesho',
  43. password: '123450',
  44. isDeleted: false,
  45. banStatus: { id: '1', description: 'asfasd', expDate: '123.23.123', isBanned: false }
  46. }
  47.  
  48. const spyOnFindOne = jest.spyOn(userRepo, 'findOne').mockImplementation(() => Promise.resolve(user));
  49. const spyOnBan = jest.spyOn(banRepo, 'save').mockImplementation(() => Promise.resolve(user));
  50.  
  51. // await service.banUser('1', 'asdfasg');
  52.  
  53. expect(spyOnFindOne).toBeCalled();
  54. spyOnFindOne.mockRestore();
  55. spyOnBan.mockRestore();
  56. })
  57. })
  58. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement