fix(refactor): add services/adapters/useCases
This commit is contained in:
11
users-manage/tests/adapters/Services.test.js
Normal file
11
users-manage/tests/adapters/Services.test.js
Normal file
@@ -0,0 +1,11 @@
|
||||
import {describe, expect, test} from "vitest";
|
||||
import AdapterOfServices from '@adapters/adapterOfServices/Services'
|
||||
|
||||
|
||||
describe('tests for AdapterOfServices', () => {
|
||||
test('init', () => {
|
||||
const adapterOfServices = new AdapterOfServices('http://localhost:8080', {})
|
||||
|
||||
expect(adapterOfServices).toBeDefined()
|
||||
})
|
||||
})
|
||||
11
users-manage/tests/adapters/Users.test.js
Normal file
11
users-manage/tests/adapters/Users.test.js
Normal file
@@ -0,0 +1,11 @@
|
||||
import {describe, expect, test} from "vitest";
|
||||
import AdapterOfUsers from '@adapters/adapterOfUsers/Users'
|
||||
|
||||
|
||||
describe('test for AdapterOfUsers', () => {
|
||||
test('init', () => {
|
||||
const adapterOfUsers = new AdapterOfUsers('http://localhost:8080')
|
||||
|
||||
expect(adapterOfUsers).toBeDefined()
|
||||
})
|
||||
})
|
||||
62
users-manage/tests/services/serviceOfServices.test.js
Normal file
62
users-manage/tests/services/serviceOfServices.test.js
Normal file
@@ -0,0 +1,62 @@
|
||||
import {describe, vi, expect, test, beforeEach} from "vitest";
|
||||
import ServiceOfServices from '@services/serviceOfServices/Services.js'
|
||||
import {createStore} from 'vuex'
|
||||
|
||||
class AdapterOfServices {
|
||||
constructor() {
|
||||
}
|
||||
|
||||
async getServices() {
|
||||
return [{id: 1, name: 'service1'}, {id: 2, name: 'service2'}]
|
||||
}
|
||||
}
|
||||
|
||||
const services = {
|
||||
namespaced: true,
|
||||
state: {
|
||||
services: [],
|
||||
},
|
||||
mutations: {
|
||||
setServices(state, services) {
|
||||
state.services = services
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
resetStore({state}) {
|
||||
state.services = []
|
||||
},
|
||||
saveServices({commit}, services) {
|
||||
commit('setServices', services)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
describe('tests for ServiceOfServices', () => {
|
||||
const adapterOfServices = new AdapterOfServices()
|
||||
|
||||
const store = createStore({
|
||||
modules: {
|
||||
services,
|
||||
},
|
||||
})
|
||||
|
||||
beforeEach( async() => {
|
||||
await store.dispatch('services/resetStore')
|
||||
})
|
||||
|
||||
test('init', () => {
|
||||
const serviceOfServices = new ServiceOfServices(adapterOfServices, store)
|
||||
|
||||
expect(serviceOfServices).toBeDefined()
|
||||
})
|
||||
|
||||
test('test of fetchServicesList', async () => {
|
||||
const serviceOfServices = new ServiceOfServices(adapterOfServices, store)
|
||||
|
||||
await serviceOfServices.fetchUsersList()
|
||||
|
||||
const usersList = store.getters['services/servicesList']
|
||||
|
||||
expect(usersList).toEqual([{id: 1, name: 'service1'}, {id: 2, name: 'service2'}])
|
||||
})
|
||||
})
|
||||
18
users-manage/tests/services/serviceOfUsers.test.js
Normal file
18
users-manage/tests/services/serviceOfUsers.test.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import {describe, vi, expect, test} from "vitest";
|
||||
import ServiceOfUsers from '@services/serviceOfUsers/Users.js'
|
||||
|
||||
class AdapterOfUsers {
|
||||
constructor() {
|
||||
}
|
||||
}
|
||||
|
||||
describe('test for ServiceOfUsers', () => {
|
||||
test('init', () => {
|
||||
const adapterOfUsers = new AdapterOfUsers()
|
||||
|
||||
const serviceOfUsers = new ServiceOfUsers(adapterOfUsers)
|
||||
|
||||
expect(serviceOfUsers).toBeDefined()
|
||||
})
|
||||
})
|
||||
|
||||
106
users-manage/tests/useCases/CaseOfUsersInService.test.js
Normal file
106
users-manage/tests/useCases/CaseOfUsersInService.test.js
Normal file
@@ -0,0 +1,106 @@
|
||||
import {describe, vi, expect, test, beforeEach} from "vitest";
|
||||
import CaseOfUsersInService from '@useCases/CaseOfUsersInService.js'
|
||||
import {createStore} from 'vuex'
|
||||
|
||||
class ServiceOfUsers {
|
||||
constructor(adapter, store) {
|
||||
this.adapter = adapter
|
||||
this.store = store
|
||||
}
|
||||
}
|
||||
|
||||
class ServiceOfServices {
|
||||
constructor(adapter, store) {
|
||||
this.adapter = adapter
|
||||
this.store = store
|
||||
}
|
||||
}
|
||||
|
||||
class AdapterOfUsers {
|
||||
constructor() {
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
async getUsersListByServiceId(serviceId) {
|
||||
return [{id: 1, name: 'user1'}, {id: 2, name: 'user2'}]
|
||||
}
|
||||
}
|
||||
|
||||
class AdapterOfServices {
|
||||
constructor() {
|
||||
}
|
||||
}
|
||||
|
||||
describe('tests for caseOfUsersInService', () => {
|
||||
const store = createStore({
|
||||
modules: {
|
||||
services: {
|
||||
namespaced: true,
|
||||
state: {
|
||||
services: [],
|
||||
},
|
||||
mutations: {
|
||||
setServices(state, services) {
|
||||
state.services = services
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
resetStore({state}) {
|
||||
state.services = []
|
||||
},
|
||||
saveServices({commit}, services) {
|
||||
commit('setServices', services)
|
||||
}
|
||||
},
|
||||
},
|
||||
users: {
|
||||
namespaced: true,
|
||||
state: {
|
||||
siteUsersList: [],
|
||||
},
|
||||
mutations: {
|
||||
setSiteUsersList(state, users) {
|
||||
state.users = users
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
resetStore({state}) {
|
||||
state.siteUsersList = []
|
||||
},
|
||||
saveUsers({commit}, users) {
|
||||
commit('setSiteUsersList', users)
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
const adapterOfUsers = new AdapterOfUsers()
|
||||
const adapterOfServices = new AdapterOfServices()
|
||||
|
||||
const serviceOfUsers = new ServiceOfUsers(adapterOfUsers, store)
|
||||
const serviceOfServices = new ServiceOfServices(adapterOfServices, store)
|
||||
|
||||
beforeEach( async() => {
|
||||
await store.dispatch('services/resetStore')
|
||||
await store.dispatch('users/resetStore')
|
||||
})
|
||||
|
||||
test('init', () => {
|
||||
const caseOfUsersInService = new CaseOfUsersInService(serviceOfUsers, serviceOfServices)
|
||||
|
||||
expect(caseOfUsersInService).toBeDefined()
|
||||
})
|
||||
|
||||
// test('selectServiceAndFetchRoutes', async () => {
|
||||
// const caseOfUsersInService = new CaseOfUsersInService(serviceOfUsers, serviceOfServices)
|
||||
//
|
||||
// await caseOfUsersInService.selectServiceAndFetchRoutes(1)
|
||||
//
|
||||
// const selectedService = store.getters['services/selectedService']
|
||||
// const usersList = store.getters['users/siteUsersList']
|
||||
//
|
||||
// expect(selectedService).toEqual({id: 1, name: 'service1'})
|
||||
// expect(usersList).toEqual([{id: 1, name: 'user1'}, {id: 2, name: 'user2'}])
|
||||
// })
|
||||
})
|
||||
@@ -12,5 +12,3 @@ describe("tests AppPageHeader component", () => {
|
||||
expect(wrapper.exists()).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ describe("tests VTabulator component", () => {
|
||||
|
||||
vi.mock('tabulator-tables', () => {
|
||||
|
||||
const Tabulator = vi.fn(() => {
|
||||
const tabulator = vi.fn(() => {
|
||||
return {
|
||||
getHtml: () => {
|
||||
return '<div>test</div>'
|
||||
@@ -17,7 +17,7 @@ describe("tests VTabulator component", () => {
|
||||
|
||||
return {
|
||||
__esModule: true,
|
||||
TabulatorFull: Tabulator
|
||||
TabulatorFull: tabulator
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -17,6 +17,13 @@ describe("tests SitesManagerPage component mounted with vuex", () => {
|
||||
},
|
||||
})
|
||||
|
||||
vi.mock('tabulator-tables', () => {
|
||||
const mockTabulator = vi.fn().mockImplementation(() => ({
|
||||
// Mock implementation details
|
||||
}));
|
||||
return { TabulatorFull: mockTabulator }; // Adjust based on what you're trying to mock
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
store.dispatch('users/resetStore')
|
||||
store.dispatch('services/resetStore')
|
||||
@@ -47,12 +54,13 @@ describe("tests SitesManagerPage component mounted with vuex", () => {
|
||||
|
||||
test('test UsersManager mounted with vuex', async () => {
|
||||
const wrapper = mount(UsersManager, {
|
||||
shallow: true,
|
||||
global: {
|
||||
plugins: [store]
|
||||
}
|
||||
})
|
||||
|
||||
console.log(wrapper.html())
|
||||
|
||||
const componentState = wrapper.vm.componentState
|
||||
const gridCols = wrapper.vm.gridCols
|
||||
expect(componentState).toBe('view')
|
||||
|
||||
@@ -8,7 +8,8 @@ import axios from "axios";
|
||||
|
||||
vi.mock('axios')
|
||||
|
||||
describe("tests SitesManagerPage component mounted with vuex", () => {
|
||||
|
||||
describe("tests App mounted with vuex", () => {
|
||||
const store = createStore({
|
||||
plugins: [],
|
||||
modules: {
|
||||
@@ -17,6 +18,8 @@ describe("tests SitesManagerPage component mounted with vuex", () => {
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
|
||||
const mockData = [
|
||||
{
|
||||
"id": 1,
|
||||
@@ -32,7 +35,6 @@ describe("tests SitesManagerPage component mounted with vuex", () => {
|
||||
data: mockData,
|
||||
})
|
||||
|
||||
|
||||
test('tests App mounted with vuex', async () => {
|
||||
const wrapper = mount(Sites, {
|
||||
shallow: true,
|
||||
|
||||
Reference in New Issue
Block a user