feat(tests): create useCase for UsersInServices

This commit is contained in:
2024-03-07 14:47:21 +03:00
parent a14fd56955
commit b5b3c616dc
27 changed files with 1048 additions and 724 deletions

View File

@@ -0,0 +1,71 @@
import {createStore} from "vuex";
import {appUser} from "@mocks/users.js";
class AdapterOfUsers {
constructor() {
}
getUsersList() {
return [appUser]
}
getUsersByServiceId() {
return [appUser]
}
}
const users = {
namespaced: true,
state: {
siteUsers: [],
usersWithoutSite: [],
},
mutations: {
setSiteUsers(state, users) {
state.siteUsers = users
},
setUsersWithoutSite(state, users) {
state.usersWithoutSite = users
},
},
getters: {
siteUsers: state => {
return state.siteUsers
},
usersWithoutSite: state => {
return state.usersWithoutSite
}
},
actions: {
resetStore({state}) {
state.siteUsers = []
},
saveSiteUsers({commit}, users) {
commit('setSiteUsers', users)
},
saveUsersWithoutSite({commit}, users) {
commit('setUsersWithoutSite', users)
}
},
}
const services = {
namespaced: true,
getters: {
selectedService: () => {
return {id: 1, name: 'service1'}
}
},
}
const store = createStore({
modules: {
users,
services
},
})
const adapterOfUsers = new AdapterOfUsers()
export {adapterOfUsers, store}

View File

@@ -0,0 +1,36 @@
import {describe, expect, test, beforeEach} from "vitest";
import ServiceOfUsers from '@services/serviceOfUsers/Users.js'
import {adapterOfUsers, store} from './MockData.js'
import {appUser} from '@mocks/users.js'
describe('test for ServiceOfUsers', () => {
const serviceOfUsers = new ServiceOfUsers(adapterOfUsers, store)
beforeEach( async() => {
await store.dispatch('users/resetStore')
})
test('init', () => {
expect(serviceOfUsers).toBeDefined()
})
test('saveSiteUsers', async () => {
await serviceOfUsers.saveSiteUsers([appUser])
const storeUsers = store.getters['users/siteUsers']
expect(storeUsers).toEqual([appUser])
})
test('saveUsersWithoutSite', async () => {
await serviceOfUsers.saveUsersWithoutSite([appUser])
const storeUsers = store.getters['users/usersWithoutSite']
expect(storeUsers).toEqual([appUser])
})
test('fetchUsersByService', async () => {
const serviceId = 1
await serviceOfUsers.fetchUsersByService(serviceId)
const storeUsers = store.getters['users/siteUsers']
expect(storeUsers).toEqual([appUser])
})
})