-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathusers.ts
More file actions
75 lines (60 loc) · 1.81 KB
/
users.ts
File metadata and controls
75 lines (60 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import { faker } from '@faker-js/faker';
import type { AddUser, User, UserFilters } from '..';
import { OK, api, jsonFor, on, qs } from './_helper';
describe('Users', () => {
const userId = faker.datatype.number();
const email = faker.internet.email();
const user: User = jsonFor('User');
const users: User[] = [user];
const userFilters: UserFilters = jsonFor('UserFilters');
const addOrUpdateUserPayload: AddUser = jsonFor('AddUser');
it('get user', async () => {
on(`get_user/${userId}`)
.reply(OK, user);
await api
.getUser(userId)
.should.eventually.be.deep.equal(user);
});
it('get current user', async () => {
on('get_current_user')
.reply(OK, user);
await api
.getCurrentUser()
.should.eventually.be.deep.equal(user);
});
it('get user by email', async () => {
on(`get_user_by_email&email=${email}`)
.reply(OK, user);
await api
.getUserByEmail(email)
.should.eventually.be.deep.equal(user);
});
it('get users', async () => {
on('get_users&limit=250&offset=0')
.reply(OK, users);
await api
.getUsers()
.should.eventually.be.deep.equal(users);
});
it('get filtered users', async () => {
on(`get_users&${qs(userFilters)}&limit=250&offset=0`)
.reply(OK, users);
await api
.getUsers(userFilters)
.should.eventually.be.deep.equal(users);
});
it('add user', async () => {
on('add_user', addOrUpdateUserPayload)
.reply(OK, user);
await api
.addUser(addOrUpdateUserPayload)
.should.eventually.be.deep.equal(user);
});
it('update user', async () => {
on(`update_user/${userId}`, addOrUpdateUserPayload)
.reply(OK, user);
await api
.updateUser(userId, addOrUpdateUserPayload)
.should.eventually.be.deep.equal(user);
});
});