0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-01-06 20:40:08 -05:00
logto/packages/integration-tests/tests/admin-user.test.ts
simeng-li 939dc0eac8
refactor(test): refactor logto client and actions (#1691)
* refactor(test): refactor logto client and actions

refactor logto client and related actions

* chore(test): rename LogtoClient class

rename LogtoClient class

* refactor(test): rename client and client methods

rename client and client methods

* refactor(test): cr fix

cr fix

* refactor(test): reuse helpers

reuser helpers
2022-07-28 10:13:21 +08:00

55 lines
1.6 KiB
TypeScript

import { HTTPError } from 'got';
import { getUser, getUsers, updateUser, deleteUser, updateUserPassword } from '@/api';
import { createUserByAdmin } from '@/helpers';
describe('admin console user management', () => {
it('should create user successfully', async () => {
const user = await createUserByAdmin();
const userDetails = await getUser(user.id);
expect(userDetails.id).toBe(user.id);
});
it('should get user list successfully', async () => {
await createUserByAdmin();
const users = await getUsers();
expect(users.length).not.toBeLessThan(1);
});
it('should update userinfo successfully', async () => {
const user = await createUserByAdmin();
const newUserData = {
name: 'new name',
avatar: 'https://new.avatar.com/avatar.png',
customData: {
level: 1,
},
roleNames: ['admin'],
};
const updatedUser = await updateUser(user.id, newUserData);
expect(updatedUser).toMatchObject(newUserData);
});
it('should delete user successfully', async () => {
const user = await createUserByAdmin();
const userEntity = await getUser(user.id);
expect(userEntity).toMatchObject(user);
await deleteUser(user.id);
const response = await getUser(user.id).catch((error: unknown) => error);
expect(response instanceof HTTPError && response.response.statusCode === 404).toBe(true);
});
it('should update user password successfully', async () => {
const user = await createUserByAdmin();
const userEntity = await updateUserPassword(user.id, 'new_password');
expect(userEntity).toMatchObject(user);
});
});