import { vi, describe, expect, it, beforeAll, beforeEach, afterEach } from 'vitest'; import { createWrapper, axios } from 'app/test/vitest/helper'; import VnSearchbar from 'components/ui/VnSearchbar.vue'; describe('VnSearchBar', () => { let vm; let wrapper; beforeAll(() => { wrapper = createWrapper(VnSearchbar, { propsData: { dataKey: 'CustomerList', label: 'Search customer', info: 'Info customer', }, }); vm = wrapper.vm; vm.route.matched = [ { path: '/', }, { path: '/customer', }, { path: '/customer/:id', }, { path: '/customer/:id/basic-data', }, ]; }); afterEach(() => { vi.clearAllMocks(); }); it('should be defined', async () => { expect(vm.searchText).toBeDefined(); expect(vm.searchText).toEqual(''); }); it('should redirect', async () => { vi.spyOn(vm.router,'push'); vm.searchText = '1'; await vm.search(); expect(vm.router.push).toHaveBeenCalledWith('/customer/1/basic-data'); vm.searchText = '1112'; expect(vm.searchText).toEqual('1112'); vi.spyOn(vm.router,'push'); await vm.search(); expect(vm.router.push).toHaveBeenCalledWith('/customer/1112/basic-data'); }); });