Advertisement
Guest User

Untitled

a guest
May 20th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. it('should save update post result', async () => {
  2. const fakeUser: UserEntity = {
  3. id: '123457',
  4. createdOn: new Date(),
  5. updatedOn: new Date(),
  6. username: 'testuser1',
  7. email: 'test1@test.com',
  8. password: 'password',
  9. isDeleted: false,
  10. isLoggedIn: false,
  11. isBanned: false,
  12. roles: [],
  13. posts: Promise.resolve([]),
  14. comments: Promise.resolve([]),
  15. followers: Promise.resolve([]),
  16. following: Promise.resolve([]),
  17. activity: Promise.resolve([]),
  18. notifications: Promise.resolve([]),
  19. };
  20.  
  21. const fakePostRO: PostRO = {
  22. id: '12345',
  23. created: new Date(),
  24. updated: new Date(),
  25. title: 'some description',
  26. description: 'some description',
  27. isDeleted: false,
  28. isFlagged: false,
  29. isLocked: false,
  30. author: 'testuser1',
  31. };
  32.  
  33. const fakePostEntity: PostEntity = {
  34. id: '12345',
  35. created: new Date(),
  36. updated: new Date(),
  37. title: 'some description',
  38. description: 'some description',
  39. isDeleted: false,
  40. isFlagged: false,
  41. isLocked: false,
  42. comments: Promise.resolve([]),
  43. author: Promise.resolve(fakeUser),
  44. };
  45.  
  46. const options = {
  47. where: {
  48. id: fakePostEntity.id,
  49. },
  50. relations: ["author"],
  51. };
  52.  
  53. const fakePostDTO: PostDTO = {
  54. title: 'some description',
  55. description: 'some description',
  56. };
  57.  
  58. const updateFakePost = jest.spyOn(postRepository, 'findOne')
  59. .mockImplementation(() => Promise.resolve(fakePostEntity));
  60.  
  61. const saveUpdateFakePost = jest.spyOn(postRepository, 'save')
  62. .mockImplementation(() => Promise.resolve(fakePostEntity));
  63.  
  64. const plainToClassSpy = jest.spyOn(transformer, 'plainToClass')
  65. .mockImplementation(() => (fakePostRO));
  66.  
  67. // act
  68. await service.update(fakeUser, fakePostEntity.id , fakePostRO);
  69.  
  70. // assert
  71. expect(saveUpdateFakePost).toHaveBeenCalledTimes(1);
  72. expect(saveUpdateFakePost).toHaveBeenCalledWith(fakePostRO);
  73.  
  74. updateFakePost.mockRestore();
  75. saveUpdateFakePost.mockRestore();
  76. plainToClassSpy.mockRestore();
  77.  
  78. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement