139 lines
3.7 KiB
JavaScript
139 lines
3.7 KiB
JavaScript
import {expect, describe, test, beforeEach, vi} from 'vitest'
|
|
import {mount} from '@vue/test-utils'
|
|
import ServiceOfPacks from "@services/ServiceOfPacks.js"
|
|
import {resPacks, ApiOfPacks} from "@mocks/packs.js"
|
|
import LastPacks from "@organisms/LastPacks/LastPacks.vue"
|
|
import tableConfig from '@organisms/LastPacks/helpers/tableConfig'
|
|
import { createStore } from "vuex"
|
|
import { store as packs } from '@/store/modules/packs'
|
|
|
|
describe('test LastPacks', () => {
|
|
|
|
const apiOfPacks = new ApiOfPacks()
|
|
const store = createStore({
|
|
modules: {
|
|
packs
|
|
}
|
|
})
|
|
|
|
beforeEach(() => {
|
|
store.dispatch('packs/resetStore')
|
|
})
|
|
|
|
vi.mock('tabulator-tables', () => {
|
|
const mockTabulator = vi.fn().mockImplementation(() => ({
|
|
// Mock implementation details
|
|
}))
|
|
return { TabulatorFull: mockTabulator } // Adjust based on what you're trying to mock
|
|
})
|
|
|
|
const serviceOfPacks = new ServiceOfPacks(apiOfPacks, store)
|
|
|
|
test('exist of LastPacks', async () => {
|
|
|
|
const wrapper = mount(LastPacks, {
|
|
props: {
|
|
serviceOfPacks,
|
|
},
|
|
global: {
|
|
mocks: {
|
|
$store: store
|
|
},
|
|
data() {
|
|
const paramsFields = {
|
|
dateFormat: 'DD.MM.YYYY HH:mm',
|
|
dtStart: serviceOfPacks.getDefaultDates(this.dateFormat).dtStart,
|
|
dtFinish: serviceOfPacks.getDefaultDates(this.dateFormat).dtFinish,
|
|
imei: ''
|
|
}
|
|
return {
|
|
config: tableConfig,
|
|
paramsFields,
|
|
pageState: "await", // await | loading | isLoaded | error
|
|
errorImei: null,
|
|
}
|
|
},
|
|
}
|
|
})
|
|
|
|
expect(wrapper.exists()).toBe(true)
|
|
})
|
|
|
|
test('Get last packs in LastPacks component', async () => {
|
|
|
|
const wrapper = mount(LastPacks, {
|
|
shallow: true,
|
|
props: {
|
|
serviceOfPacks,
|
|
},
|
|
global: {
|
|
mocks: {
|
|
$store: store
|
|
},
|
|
data() {
|
|
const paramsFields = {
|
|
dateFormat: 'DD.MM.YYYY HH:mm',
|
|
dtStart: serviceOfPacks.getDefaultDates(this.dateFormat).dtStart,
|
|
dtFinish: serviceOfPacks.getDefaultDates(this.dateFormat).dtFinish,
|
|
imei: ''
|
|
}
|
|
return {
|
|
config: tableConfig,
|
|
paramsFields,
|
|
pageState: "await", // await | loading | isLoaded | error
|
|
errorImei: null,
|
|
}
|
|
},
|
|
}
|
|
})
|
|
|
|
await wrapper.setData({paramsFields: {imei: '868136035512212'}})
|
|
|
|
await wrapper.vm.getPacks()
|
|
|
|
const lastPacks = store.getters['packs/lastPacks']
|
|
|
|
expect(lastPacks).toEqual(resPacks)
|
|
|
|
})
|
|
|
|
test('Edit fields in LastPacks component', async () => {
|
|
|
|
const wrapper = mount(LastPacks, {
|
|
shallow: true,
|
|
props: {
|
|
serviceOfPacks,
|
|
},
|
|
global: {
|
|
mocks: {
|
|
$store: store
|
|
},
|
|
data() {
|
|
const paramsFields = {
|
|
dateFormat: 'DD.MM.YYYY HH:mm',
|
|
dtStart: serviceOfPacks.getDefaultDates(this.dateFormat).dtStart,
|
|
dtFinish: serviceOfPacks.getDefaultDates(this.dateFormat).dtFinish,
|
|
imei: ''
|
|
}
|
|
return {
|
|
config: tableConfig,
|
|
paramsFields,
|
|
pageState: "await", // await | loading | isLoaded | error
|
|
errorImei: null,
|
|
}
|
|
},
|
|
}
|
|
})
|
|
|
|
await wrapper.vm.editFields({key: 'imei', value: '868136035512212'})
|
|
await wrapper.vm.editFields({key: 'dtStart', value: '2024-03-05'})
|
|
await wrapper.vm.editFields({key: 'dtFinish', value: '2024-04-05'})
|
|
|
|
expect(wrapper.vm.paramsFields).toEqual({dateFormat: 'DD.MM.YYYY HH:mm', imei: '868136035512212', dtStart: '2024-03-05', dtFinish: '2024-04-05'})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|