Если кому-то понадобится. Для того, чтобы избавиться от ошибки Pinia, я добавил createSpy: vi.fn. А для ошибки TypeError, я указал начальное состояние с точной структурой объекта, который используется в composables для рендера:
import { describe, it, expect, beforeEach, vi } from 'vitest'
import { shallowMount } from '@vue/test-utils'
import { createTestingPinia } from '@pinia/testing'
import MainView from '@/views/MainView.vue'
describe('MainView.vue', () => {
let wrapper: any
const client = {
id: 1,
firstName: 'test',
secondName: 'testov',
thirdName: 'testovich',
fullName: 'testov test testovich',
date: {
newDate: new Date(),
nowDate: Date.now()
},
edit: {
newEdit: new Date(),
nowEdit: Date.now()
},
contacts: [
{
block: {
name: 'component'
},
selectValue: '',
inputValue: ''
}
],
newdCreateDate: 'today',
newEditDate: 'today'
}
beforeEach(() => {
wrapper = shallowMount(MainView, {
global: {
plugins: [
createTestingPinia({
createSpy: vi.fn,
initialState: {
client: {
clientsData: [client]
}
}
})
]
}
})
})
it('renders properly', () => {
expect(wrapper.find('.modal').exists()).toBe(false)
})
})