110 lines
2.9 KiB
JavaScript
110 lines
2.9 KiB
JavaScript
import {test, describe, expect} from 'vitest'
|
|
import Service from '@admin_pages/Services/ServicesServiceItem.vue'
|
|
import { globalServices } from '@store/modules/services/StaticData'
|
|
import { store as logger } from '@/store/modules/logger';
|
|
import { mount } from '@vue/test-utils'
|
|
import {createStore} from 'vuex'
|
|
|
|
const store = createStore({
|
|
modules: {
|
|
logger,
|
|
services: globalServices,
|
|
},
|
|
})
|
|
|
|
describe("6_admin_pages, ServicesServiceItem", () => {
|
|
test("renders Service, with set props value", async () => {
|
|
const wrapper = mount(Service, {
|
|
global: {
|
|
plugins: [store],
|
|
},
|
|
props: {
|
|
idx: 1,
|
|
}
|
|
})
|
|
|
|
await wrapper.setProps({ idx: 3 })
|
|
|
|
expect(wrapper.html()).toContain(3)
|
|
})
|
|
|
|
test("renders Service with condition success", async () => {
|
|
const wrapper = mount(Service, {
|
|
global: {
|
|
plugins: [store],
|
|
},
|
|
props: {
|
|
name: '',
|
|
},
|
|
})
|
|
|
|
await wrapper.setProps({ name: 'глобальное хранилище' })
|
|
|
|
expect(wrapper.html()).toContain('доступен')
|
|
})
|
|
|
|
test("renders Service with condition not success", async () => {
|
|
const wrapper = mount(Service, {
|
|
global: {
|
|
plugins: [store],
|
|
},
|
|
props: {
|
|
name: '',
|
|
},
|
|
})
|
|
|
|
await wrapper.setProps({ name: 'Test service name' })
|
|
|
|
expect(wrapper.html()).toContain('отключен')
|
|
})
|
|
|
|
test("renders Service if not service details", async () => {
|
|
const wrapper = mount(Service, {
|
|
global: {
|
|
plugins: [store],
|
|
},
|
|
props: {
|
|
service: {},
|
|
},
|
|
})
|
|
|
|
expect(wrapper.html()).toContain('Сервис глобального хранилища применяется для условно постоянного хранения данных в кэше')
|
|
})
|
|
|
|
test("renders Service with set service details", async () => {
|
|
const wrapper = mount(Service, {
|
|
global: {
|
|
plugins: [store],
|
|
},
|
|
props: {
|
|
service: {serviceIp: '192.168.1.1', serviceCode: '1234567890', serviceLink: 'http://test.com', is_online: false,
|
|
},
|
|
},
|
|
})
|
|
|
|
await wrapper.setProps({ service: {serviceIp: '192.168.1.7', serviceCode: '1234567897', is_online: true} }) // 1 раз, далее новый тест
|
|
|
|
expect(wrapper.html()).toContain('192.168.1.7')
|
|
expect(wrapper.html()).toContain('1234567897')
|
|
expect(wrapper.html()).toContain('доступен')
|
|
expect(wrapper.html()).toContain('... нет описания')
|
|
})
|
|
|
|
test("renders Service with alert copyText success after click", async () => {
|
|
const wrapper = mount(Service, {
|
|
global: {
|
|
plugins: [store],
|
|
},
|
|
props: {
|
|
copyed: '',
|
|
service: {init_params: {service: 'Test service', machine_addr: 'Test machine_addr'}},
|
|
},
|
|
})
|
|
|
|
await wrapper.get('.copyText').trigger('click')
|
|
|
|
expect(wrapper.html()).toContain('copyed')
|
|
})
|
|
})
|
|
|