236 lines
9.3 KiB
JavaScript
236 lines
9.3 KiB
JavaScript
import NpmAppEventTable from '@/views/charts2/charts/npm/NpmAppEventTable'
|
||
import { mount } from '@vue/test-utils'
|
||
import axios from 'axios'
|
||
import ElementPlus from 'element-plus'
|
||
import { mockData } from './mockData/NpmAppEventByTable'
|
||
|
||
let wrapper = null
|
||
const mockGet = mockData.common.data
|
||
|
||
const timeFilter = {
|
||
dateRangeValue: -1,
|
||
startTime: 1675558657,
|
||
endTime: 1675731457
|
||
}
|
||
|
||
/**
|
||
* 进行axios请求,并挂载vue实例
|
||
* @param data
|
||
*/
|
||
function axiosPostAndMounted (data) {
|
||
require('vue-router').useRoute.mockReturnValue({ query: {} })
|
||
const _data = data || mockGet
|
||
// 模拟 axios 数据
|
||
axios.get.mockResolvedValue(_data)
|
||
|
||
// 加载vue组件,获得实例
|
||
wrapper = mount(NpmAppEventTable, {
|
||
global: {
|
||
plugins: [ElementPlus]
|
||
},
|
||
propsData: {
|
||
timeFilter
|
||
}
|
||
})
|
||
}
|
||
|
||
describe('views/charts2/charts/npm/NpmAppEventTable.vue测试', () => {
|
||
test('Npm 事件:APP事件信息表格 严重程度色块验证', async () => {
|
||
axiosPostAndMounted()
|
||
|
||
await new Promise(resolve => setTimeout(() => {
|
||
// critical
|
||
const criticalArray = [1, 8]
|
||
for (let index = 0; index < criticalArray.length; index++) {
|
||
const rowIndex = criticalArray[index]
|
||
for (let i = 1; i <= 5; i++) {
|
||
const eventSeverityRedValue = wrapper.find('[test-id="eventSeverityValue' + rowIndex + i + '"]')
|
||
expect(eventSeverityRedValue.classes()).toContain('red-dot')
|
||
}
|
||
}
|
||
|
||
// high
|
||
const highArray = [6]
|
||
for (let index = 0; index < highArray.length; index++) {
|
||
const rowIndex = highArray[index]
|
||
for (let i = 1; i <= 4; i++) {
|
||
const eventSeverityRedValue = wrapper.find('[test-id="eventSeverityValue' + rowIndex + i + '"]')
|
||
expect(eventSeverityRedValue.classes()).toContain('red-dot')
|
||
}
|
||
for (let i = 5; i <= 5; i++) {
|
||
const eventSeverityGreyValue = wrapper.find('[test-id="eventSeverityValue' + rowIndex + i + '"]')
|
||
expect(eventSeverityGreyValue.classes()).toContain('grey-dot')
|
||
}
|
||
}
|
||
|
||
// medium
|
||
const mediumArray = [5, 7]
|
||
for (let index = 0; index < mediumArray.length; index++) {
|
||
const rowIndex = mediumArray[index]
|
||
for (let i = 1; i <= 3; i++) {
|
||
const eventSeverityRedValue = wrapper.find('[test-id="eventSeverityValue' + rowIndex + i + '"]')
|
||
expect(eventSeverityRedValue.classes()).toContain('red-dot')
|
||
}
|
||
for (let i = 4; i <= 5; i++) {
|
||
const eventSeverityGreyValue = wrapper.find('[test-id="eventSeverityValue' + rowIndex + i + '"]')
|
||
expect(eventSeverityGreyValue.classes()).toContain('grey-dot')
|
||
}
|
||
}
|
||
|
||
// low
|
||
const lowArray = [2, 4]
|
||
for (let index = 0; index < lowArray.length; index++) {
|
||
const rowIndex = lowArray[index]
|
||
for (let i = 1; i <= 2; i++) {
|
||
const eventSeverityRedValue = wrapper.find('[test-id="eventSeverityValue' + rowIndex + i + '"]')
|
||
expect(eventSeverityRedValue.classes()).toContain('red-dot')
|
||
}
|
||
for (let i = 3; i <= 5; i++) {
|
||
const eventSeverityGreyValue = wrapper.find('[test-id="eventSeverityValue' + rowIndex + i + '"]')
|
||
expect(eventSeverityGreyValue.classes()).toContain('grey-dot')
|
||
}
|
||
}
|
||
|
||
// info
|
||
const infoArray = [0, 3, 9]
|
||
for (let index = 0; index < infoArray.length; index++) {
|
||
const rowIndex = infoArray[index]
|
||
for (let i = 1; i <= 1; i++) {
|
||
const eventSeverityRedValue = wrapper.find('[test-id="eventSeverityValue' + rowIndex + i + '"]')
|
||
expect(eventSeverityRedValue.classes()).toContain('red-dot')
|
||
}
|
||
for (let i = 2; i <= 5; i++) {
|
||
const eventSeverityGreyValue = wrapper.find('[test-id="eventSeverityValue' + rowIndex + i + '"]')
|
||
expect(eventSeverityGreyValue.classes()).toContain('grey-dot')
|
||
}
|
||
}
|
||
resolve()
|
||
}, 200))
|
||
})
|
||
test('Npm 事件:APP事件信息表格 数据验证(应用数据列)', async () => {
|
||
axiosPostAndMounted()
|
||
|
||
await new Promise(resolve => setTimeout(() => {
|
||
const textNode0 = wrapper.find('[test-id="appName0"]')
|
||
const textNode1 = wrapper.find('[test-id="appName1"]')
|
||
const textNode2 = wrapper.find('[test-id="appName2"]')
|
||
const textNode3 = wrapper.find('[test-id="appName3"]')
|
||
const textNode4 = wrapper.find('[test-id="appName4"]')
|
||
const textNode5 = wrapper.find('[test-id="appName5"]')
|
||
const textNode6 = wrapper.find('[test-id="appName6"]')
|
||
const textNode7 = wrapper.find('[test-id="appName7"]')
|
||
const textNode8 = wrapper.find('[test-id="appName8"]')
|
||
const textNode9 = wrapper.find('[test-id="appName9"]')
|
||
|
||
expect(textNode0.text()).toEqual('youku')
|
||
expect(textNode1.text()).toEqual('uplive')
|
||
expect(textNode2.text()).toEqual('youku')
|
||
expect(textNode3.text()).toEqual('apple_hls')
|
||
expect(textNode4.text()).toEqual('apple_hls')
|
||
expect(textNode5.text()).toEqual('apple_hls')
|
||
expect(textNode6.text()).toEqual('uplive')
|
||
expect(textNode7.text()).toEqual('windows_update')
|
||
expect(textNode8.text()).toEqual('apple_hls')
|
||
expect(textNode9.text()).toEqual('cloudflare')
|
||
|
||
resolve()
|
||
}, 200))
|
||
})
|
||
test('Npm 事件:APP事件信息表格 数据验证(严重程度数据列)', async () => {
|
||
axiosPostAndMounted()
|
||
|
||
await new Promise(resolve => setTimeout(() => {
|
||
const textNode0 = wrapper.find('[test-id="eventSeverity0"]')
|
||
const textNode1 = wrapper.find('[test-id="eventSeverity1"]')
|
||
const textNode2 = wrapper.find('[test-id="eventSeverity2"]')
|
||
const textNode3 = wrapper.find('[test-id="eventSeverity3"]')
|
||
const textNode4 = wrapper.find('[test-id="eventSeverity4"]')
|
||
const textNode5 = wrapper.find('[test-id="eventSeverity5"]')
|
||
const textNode6 = wrapper.find('[test-id="eventSeverity6"]')
|
||
const textNode7 = wrapper.find('[test-id="eventSeverity7"]')
|
||
const textNode8 = wrapper.find('[test-id="eventSeverity8"]')
|
||
const textNode9 = wrapper.find('[test-id="eventSeverity9"]')
|
||
|
||
expect(textNode0.text()).toEqual('info')
|
||
expect(textNode1.text()).toEqual('critical')
|
||
expect(textNode2.text()).toEqual('low')
|
||
expect(textNode3.text()).toEqual('info')
|
||
expect(textNode4.text()).toEqual('low')
|
||
expect(textNode5.text()).toEqual('medium')
|
||
expect(textNode6.text()).toEqual('high')
|
||
expect(textNode7.text()).toEqual('medium')
|
||
expect(textNode8.text()).toEqual('critical')
|
||
expect(textNode9.text()).toEqual('info')
|
||
|
||
resolve()
|
||
}, 200))
|
||
})
|
||
test('Npm 事件:APP事件信息表格 数据验证(事件类型数据列)', async () => {
|
||
axiosPostAndMounted()
|
||
|
||
await new Promise(resolve => setTimeout(() => {
|
||
const textNode0 = wrapper.find('[test-id="eventType0"]')
|
||
const textNode1 = wrapper.find('[test-id="eventType1"]')
|
||
const textNode2 = wrapper.find('[test-id="eventType2"]')
|
||
const textNode3 = wrapper.find('[test-id="eventType3"]')
|
||
const textNode4 = wrapper.find('[test-id="eventType4"]')
|
||
const textNode5 = wrapper.find('[test-id="eventType5"]')
|
||
const textNode6 = wrapper.find('[test-id="eventType6"]')
|
||
const textNode7 = wrapper.find('[test-id="eventType7"]')
|
||
const textNode8 = wrapper.find('[test-id="eventType8"]')
|
||
const textNode9 = wrapper.find('[test-id="eventType9"]')
|
||
|
||
expect(textNode0.text()).toEqual('http error')
|
||
expect(textNode1.text()).toEqual('http error')
|
||
expect(textNode2.text()).toEqual('http error')
|
||
expect(textNode3.text()).toEqual('http error')
|
||
expect(textNode4.text()).toEqual('http error')
|
||
expect(textNode5.text()).toEqual('http error')
|
||
expect(textNode6.text()).toEqual('http error')
|
||
expect(textNode7.text()).toEqual('http error')
|
||
expect(textNode8.text()).toEqual('http error')
|
||
expect(textNode9.text()).toEqual('http error')
|
||
|
||
resolve()
|
||
}, 200))
|
||
})
|
||
test('Npm 事件:APP事件信息表格 数据验证(事件数量数据列)', async () => {
|
||
axiosPostAndMounted()
|
||
|
||
await new Promise(resolve => setTimeout(() => {
|
||
const textNode0 = wrapper.find('[test-id="count0"]')
|
||
const textNode1 = wrapper.find('[test-id="count1"]')
|
||
const textNode2 = wrapper.find('[test-id="count2"]')
|
||
const textNode3 = wrapper.find('[test-id="count3"]')
|
||
const textNode4 = wrapper.find('[test-id="count4"]')
|
||
const textNode5 = wrapper.find('[test-id="count5"]')
|
||
const textNode6 = wrapper.find('[test-id="count6"]')
|
||
const textNode7 = wrapper.find('[test-id="count7"]')
|
||
const textNode8 = wrapper.find('[test-id="count8"]')
|
||
const textNode9 = wrapper.find('[test-id="count9"]')
|
||
|
||
expect(textNode0.text()).toEqual('6')
|
||
expect(textNode1.text()).toEqual('5')
|
||
expect(textNode2.text()).toEqual('4')
|
||
expect(textNode3.text()).toEqual('3')
|
||
expect(textNode4.text()).toEqual('3')
|
||
expect(textNode5.text()).toEqual('2')
|
||
expect(textNode6.text()).toEqual('2')
|
||
expect(textNode7.text()).toEqual('2')
|
||
expect(textNode8.text()).toEqual('1')
|
||
expect(textNode9.text()).toEqual('1')
|
||
|
||
resolve()
|
||
}, 200))
|
||
})
|
||
test('Npm 事件:APP事件信息表格 无数据', async () => {
|
||
axiosPostAndMounted(mockData.empty.data)
|
||
|
||
await new Promise(resolve => setTimeout(() => {
|
||
const noData = wrapper.get('[test-id="noData"]')
|
||
expect(noData.text()).toBe('npm.noData')
|
||
resolve()
|
||
}, 200))
|
||
})
|
||
})
|