lm-piplines/tests/components/6_admin_pages/Services/ServicesServiceItem.badtest.js
2024-04-24 11:13:56 +03:00

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')
})
})