Download api/src/tests/user-business.test.ts from Jessedbrown/warran: direct link, hf CLI and curl.
- Browser
- Download file 1.97 kB
-
https://huggingface.co/Jessedbrown/warran/resolve/main/api/src/tests/user-business.test.ts
- Command line
-
hf download hf://Jessedbrown/warran/api/src/tests/user-business.test.ts
-
curl -L -o user-business.test.ts https://huggingface.co/Jessedbrown/warran/resolve/main/api/src/tests/user-business.test.ts
1.97 kB
| import { UserBusiness } from "../business"; | |
| import { UserDatabase } from "../data"; | |
| import { InvalidParameterError } from "../error"; | |
| import { UserInputDTO } from "../model"; | |
| const makeUserBusiness = () => { | |
| const userDatabase = new UserDatabase(); | |
| return new UserBusiness(userDatabase) | |
| } | |
| describe('createUser()', () => { | |
| test('It should return 400 if there is no email provided ', async () => { | |
| try { | |
| const userBusiness = makeUserBusiness() | |
| const user: UserInputDTO = { | |
| password: '123456', | |
| name: 'name', | |
| email: '' | |
| } | |
| await userBusiness.createUser(user) | |
| } catch (error) { | |
| expect(error.message).toEqual("Invalid param: email") | |
| } | |
| }); | |
| test('It should return 400 if there is no password provided ', async () => { | |
| try { | |
| const userBusiness = makeUserBusiness() | |
| const user: UserInputDTO = { | |
| password: '', | |
| name: 'name', | |
| email: 'email@mail.com' | |
| } | |
| await userBusiness.createUser(user) | |
| } catch (error) { | |
| expect(error).toEqual(new Error('users validation failed: password: Password required')) | |
| } | |
| }); | |
| test('It should return 400 if there is no name provided ', async () => { | |
| try { | |
| const userBusiness = makeUserBusiness() | |
| const user: UserInputDTO = { | |
| password: '123456', | |
| name: '', | |
| email: 'email@mail.com' | |
| } | |
| await userBusiness.createUser(user) | |
| } catch (error) { | |
| expect(error).toEqual(new Error('users validation failed: name: Name required')) | |
| } | |
| }); | |
| test('It should call the userDatabase with the correct email ', async () => { | |
| const userBusiness = makeUserBusiness() | |
| const createUserSpy = jest.spyOn(userBusiness, 'createUser') | |
| const user: UserInputDTO = { | |
| password: '123456', | |
| name: 'tester', | |
| email: 'email@mail.com' | |
| } | |
| await userBusiness.createUser(user) | |
| expect(createUserSpy).toHaveBeenCalledWith(user) | |
| }); | |
| }); |