Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- it('should save update post result', async () => {
- const fakeUser: UserEntity = {
- id: '123457',
- createdOn: new Date(),
- updatedOn: new Date(),
- username: 'testuser1',
- email: 'test1@test.com',
- password: 'password',
- isDeleted: false,
- isLoggedIn: false,
- isBanned: false,
- roles: [],
- posts: Promise.resolve([]),
- comments: Promise.resolve([]),
- followers: Promise.resolve([]),
- following: Promise.resolve([]),
- activity: Promise.resolve([]),
- notifications: Promise.resolve([]),
- };
- const fakePostRO: PostRO = {
- id: '12345',
- created: new Date(),
- updated: new Date(),
- title: 'some description',
- description: 'some description',
- isDeleted: false,
- isFlagged: false,
- isLocked: false,
- author: 'testuser1',
- };
- const fakePostEntity: PostEntity = {
- id: '12345',
- created: new Date(),
- updated: new Date(),
- title: 'some description',
- description: 'some description',
- isDeleted: false,
- isFlagged: false,
- isLocked: false,
- comments: Promise.resolve([]),
- author: Promise.resolve(fakeUser),
- };
- const options = {
- where: {
- id: fakePostEntity.id,
- },
- relations: ["author"],
- };
- const fakePostDTO: PostDTO = {
- title: 'some description',
- description: 'some description',
- };
- const updateFakePost = jest.spyOn(postRepository, 'findOne')
- .mockImplementation(() => Promise.resolve(fakePostEntity));
- const saveUpdateFakePost = jest.spyOn(postRepository, 'save')
- .mockImplementation(() => Promise.resolve(fakePostEntity));
- const plainToClassSpy = jest.spyOn(transformer, 'plainToClass')
- .mockImplementation(() => (fakePostRO));
- // act
- await service.update(fakeUser, fakePostEntity.id , fakePostRO);
- // assert
- expect(saveUpdateFakePost).toHaveBeenCalledTimes(1);
- expect(saveUpdateFakePost).toHaveBeenCalledWith(fakePostRO);
- updateFakePost.mockRestore();
- saveUpdateFakePost.mockRestore();
- plainToClassSpy.mockRestore();
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement