mirror of
https://github.com/standardnotes/server
synced 2026-07-14 00:01:54 -04:00
58 lines
2.0 KiB
TypeScript
58 lines
2.0 KiB
TypeScript
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'
|
|
|
|
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({ foo: 'bar' })
|
|
|
|
authResponseFactoryResolver = {} as jest.Mocked<AuthResponseFactoryResolverInterface>
|
|
authResponseFactoryResolver.resolveAuthResponseFactoryVersion = jest.fn().mockReturnValue(authResponseFactory)
|
|
|
|
user = {} as jest.Mocked<User>
|
|
user.uuid = '123'
|
|
user.email = '[email protected]'
|
|
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: '[email protected]',
|
|
uuid: '123',
|
|
updatedAt: new Date(1),
|
|
})
|
|
})
|
|
})
|