123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import 'reflect-metadata'
- import { TimerInterface } from '@standardnotes/time'
- import { User } from '../User/User'
- import { UserRepositoryInterface } from '../User/UserRepositoryInterface'
- import { AuthResponseFactoryInterface } from '../Auth/AuthResponseFactoryInterface'
- import { AuthResponseFactoryResolverInterface } from '../Auth/AuthResponseFactoryResolverInterface'
- import { UpdateUser } from './UpdateUser'
- import { Session } from '../Session/Session'
- describe('UpdateUser', () => {
- let userRepository: UserRepositoryInterface
- let authResponseFactoryResolver: AuthResponseFactoryResolverInterface
- let authResponseFactory: AuthResponseFactoryInterface
- let user: User
- let timer: TimerInterface
- const createUseCase = () => new UpdateUser(userRepository, authResponseFactoryResolver, timer)
- beforeEach(() => {
- userRepository = {} as jest.Mocked<UserRepositoryInterface>
- userRepository.save = jest.fn()
- userRepository.findOneByUsernameOrEmail = jest.fn().mockReturnValue(undefined)
- authResponseFactory = {} as jest.Mocked<AuthResponseFactoryInterface>
- authResponseFactory.createResponse = jest
- .fn()
- .mockReturnValue({ response: { foo: 'bar' }, session: {} as jest.Mocked<Session> })
- authResponseFactoryResolver = {} as jest.Mocked<AuthResponseFactoryResolverInterface>
- authResponseFactoryResolver.resolveAuthResponseFactoryVersion = jest.fn().mockReturnValue(authResponseFactory)
- user = {} as jest.Mocked<User>
- user.uuid = '123'
- user.email = 'test@test.te'
- user.createdAt = new Date(1)
- timer = {} as jest.Mocked<TimerInterface>
- timer.getUTCDate = jest.fn().mockReturnValue(new Date(1))
- })
- it('should update user fields and save it', async () => {
- expect(
- await createUseCase().execute({
- user,
- updatedWithUserAgent: 'Mozilla',
- apiVersion: '20190520',
- }),
- ).toEqual({ success: true, authResponse: { foo: 'bar' } })
- expect(userRepository.save).toHaveBeenCalledWith({
- createdAt: new Date(1),
- email: 'test@test.te',
- uuid: '123',
- updatedAt: new Date(1),
- })
- })
- })
|