From d0f9ece25eca1e4de26d9677183fda132e2adb00 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Tue, 9 Jan 2024 07:02:00 +0100 Subject: [PATCH] provide test, skip it since mocking provide doesnt work --- src/components/VikeBtn.test.ts | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/components/VikeBtn.test.ts diff --git a/src/components/VikeBtn.test.ts b/src/components/VikeBtn.test.ts new file mode 100644 index 0000000..9054fa7 --- /dev/null +++ b/src/components/VikeBtn.test.ts @@ -0,0 +1,36 @@ +import { mount } from '@vue/test-utils' +import { navigate } from 'vike/client/router' +import { describe, it, expect, beforeEach, vi } from 'vitest' + +import VikeBtn from './VikeBtn.vue' + +vi.mock('vike/client/router') +vi.mocked(navigate).mockResolvedValue() +describe.skip('VikeBtn', () => { + const Wrapper = () => { + return mount(VikeBtn, { + global: { provide: { [Symbol('pageContext')]: { urlPathname: 'some-url' } } }, + attrs: { href: '/some-path' }, + }) + } + let wrapper: ReturnType + + beforeEach(() => { + wrapper = Wrapper() + }) + + it('renders', () => { + expect(wrapper.find('.v-btn').exists()).toBeTruthy() + }) + + it('icon is hidden', () => { + expect(wrapper.find('.v-icon').exists()).toBe(false) + }) + + describe('click on button', () => { + it('calls navigate method with given href', async () => { + await wrapper.find('.v-btn').trigger('click') + expect(navigate).toHaveBeenCalledWith('/some-path') + }) + }) +})