feat(tests): create useCase for UsersInServices
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import {get, post, put, remove} from './apiHelpers.js'
|
||||
import {convertList} from '@helpers/adapter/adapter.js'
|
||||
import {convertList, convertObject} from '@helpers/adapter/adapter.js'
|
||||
import {devUsersList} from './StaticData.js'
|
||||
|
||||
/**
|
||||
@@ -8,15 +8,22 @@ import {devUsersList} from './StaticData.js'
|
||||
* @param {Number} id
|
||||
*/
|
||||
|
||||
const adapter_config = {
|
||||
id: "id",
|
||||
first_name: "firstName",
|
||||
last_name: "lastName",
|
||||
email: "email",
|
||||
role: "role",
|
||||
}
|
||||
|
||||
class Users {
|
||||
/**
|
||||
* Класс управления роутерами
|
||||
* @param {String} apiAddr - path to service
|
||||
* @param {Object | undefined} adapter_config - oldKey: newKey
|
||||
* @param {Object | undefined} params - Конфиг настроек
|
||||
* @param {'prod' | 'test'} params.mode - Конфиг настроек
|
||||
*/
|
||||
constructor(apiAddr, adapter_config = {}, params = {mode: 'prod'}) {
|
||||
constructor(apiAddr, params = {mode: 'prod'}) {
|
||||
this.apiAddr = apiAddr
|
||||
this.config = adapter_config
|
||||
this.mode = params.mode
|
||||
@@ -28,7 +35,7 @@ class Users {
|
||||
* @param {'prod' | 'dev'} params.mode - Конфиг настроек
|
||||
* @returns {Promise<*[]> | *[]}
|
||||
*/
|
||||
async getUsers(params) {
|
||||
async getUsers(params = {mode: 'prod'}) {
|
||||
if (params.mode === "dev") {
|
||||
return devUsersList
|
||||
}
|
||||
@@ -41,9 +48,9 @@ class Users {
|
||||
*
|
||||
* @param {Number} id - Сервис id, если id не указан, отображается список всех роутеров
|
||||
* @param {'dev' | 'prod'} mode - Сервис id, если id не указан, отображается список всех роутеров
|
||||
* @returns {Promise<*[]>}
|
||||
* @returns {Promise<Array<User>> | any}
|
||||
*/
|
||||
async getUsersBySiteId(id, mode) {
|
||||
async getUsersByServiceId(id, mode) {
|
||||
if (mode === "dev") {
|
||||
return devUsersList
|
||||
}
|
||||
@@ -55,33 +62,33 @@ class Users {
|
||||
/**
|
||||
*
|
||||
* @param {User} userData
|
||||
* @returns {Promise<void>}
|
||||
* @returns {Promise<Object>}
|
||||
*/
|
||||
async createUser(userData) {
|
||||
const newUser = await post(`${this.apiAddr}/users`, userData)
|
||||
return newUser
|
||||
return convertObject(newUser, {config: this.config})
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {User} userData
|
||||
* @returns {Promise<void>}
|
||||
* @returns {Promise<Object>}
|
||||
*/
|
||||
async updateUser(userData) {
|
||||
const updatedUserData = {...userData}
|
||||
delete updatedUserData.id
|
||||
const newUser = await put(`${this.apiAddr}/users/${userData.id}`, updatedUserData)
|
||||
return newUser
|
||||
return convertObject(newUser, {config: this.config})
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Number} userId - Сервис id, если id не указан, отображается список всех роутеров
|
||||
* @returns {Promise<*[]>}
|
||||
* @returns {Promise<Object>}
|
||||
*/
|
||||
async removeUser(userId) {
|
||||
const removedUser = await remove(`${this.apiAddr}/users/${userId}`)
|
||||
return removedUser
|
||||
return convertObject(removedUser, {config: this.config})
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user