From 3137e770fe7d3ab8dbdb0c699446b53ad6bdfe37 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 11 Dec 2023 17:08:43 +0100 Subject: [PATCH] add tests not working from dreammall --- src/components/PageShell.test.ts.notworking | 20 +++++++++++ .../menu/TopMenu.test.ts.notworking | 34 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 src/components/PageShell.test.ts.notworking create mode 100644 src/components/menu/TopMenu.test.ts.notworking diff --git a/src/components/PageShell.test.ts.notworking b/src/components/PageShell.test.ts.notworking new file mode 100644 index 0000000..0f4b415 --- /dev/null +++ b/src/components/PageShell.test.ts.notworking @@ -0,0 +1,20 @@ +import { mount } from '@vue/test-utils' +import { describe, it, expect } from 'vitest' + +import TopMenu from '#components/menu/TopMenu.vue' + +import PageShell from './PageShell.vue' + +describe('PageShell', () => { + const wrapper = mount(PageShell, { + slots: { + default: 'Page Content', + }, + }) + + it('renders page content', () => { + expect(wrapper.find('.v-application').exists()).toBeTruthy() + expect(wrapper.find('.v-application').findComponent(TopMenu)).toBeTruthy() + expect(wrapper.html()).toContain('Page Content') + }) +}) diff --git a/src/components/menu/TopMenu.test.ts.notworking b/src/components/menu/TopMenu.test.ts.notworking new file mode 100644 index 0000000..e9aad05 --- /dev/null +++ b/src/components/menu/TopMenu.test.ts.notworking @@ -0,0 +1,34 @@ +import { mount } from '@vue/test-utils' +import { describe, it, expect } from 'vitest' +import { h } from 'vue' +import { VApp } from 'vuetify/components' + +import VikeBtn from '#components/VikeBtn.vue' + +import LogoAvatar from './LogoAvatar.vue' +import TopMenu from './TopMenu.vue' + +describe('FooterMenu', () => { + const wrapper = mount(VApp, { + slots: { + default: h(TopMenu), + }, + }) + + it('renders three columns', () => { + expect(wrapper.find('.v-row').exists()).toBeTruthy() + expect(wrapper.findAll('.v-row > div')).toHaveLength(3) + }) + + it('first column contains logo', () => { + expect(wrapper.findAll('.v-row > div')[0].findComponent(LogoAvatar)).toBeTruthy() + }) + + it('second column contains 3 children -> AnchorLink', () => { + expect(wrapper.findAll('.v-row > div')[1].findAllComponents(VikeBtn)).toHaveLength(3) + }) + + it('third column is placeholdre', () => { + expect(wrapper.findAll('.v-row > div')[2].findAll('div')).toHaveLength(0) + }) +})