mirror of
https://github.com/IT4Change/boilerplate-frontend.git
synced 2025-12-13 07:35:53 +00:00
snapshot tests
This commit is contained in:
parent
2b0c8603a0
commit
c92f7dbe35
16
src/components/PageShell.test.ts
Normal file
16
src/components/PageShell.test.ts
Normal file
@ -0,0 +1,16 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { describe, it, expect } from 'vitest'
|
||||
|
||||
import PageShell from './PageShell.vue'
|
||||
|
||||
describe('PageShell', () => {
|
||||
const wrapper = mount(PageShell, {
|
||||
slots: {
|
||||
default: 'Page Content',
|
||||
},
|
||||
})
|
||||
|
||||
it('renders', () => {
|
||||
expect(wrapper.element).toMatchSnapshot()
|
||||
})
|
||||
})
|
||||
@ -1,20 +0,0 @@
|
||||
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')
|
||||
})
|
||||
})
|
||||
@ -20,7 +20,7 @@ describe('VikeBtn', () => {
|
||||
})
|
||||
|
||||
it('renders', () => {
|
||||
expect(wrapper.find('.v-btn').exists()).toBeTruthy()
|
||||
expect(wrapper.element).toMatchSnapshot()
|
||||
})
|
||||
|
||||
it('icon is hidden', () => {
|
||||
|
||||
272
src/components/__snapshots__/PageShell.test.ts.snap
Normal file
272
src/components/__snapshots__/PageShell.test.ts.snap
Normal file
@ -0,0 +1,272 @@
|
||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||
|
||||
exports[`PageShell > renders 1`] = `
|
||||
<div
|
||||
class="v-application v-theme--light v-layout v-layout--full-height v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-application__wrap"
|
||||
>
|
||||
|
||||
<header
|
||||
class="v-toolbar v-toolbar--flat v-toolbar--density-default v-theme--light v-locale--is-ltr v-app-bar"
|
||||
style="top: 0px; z-index: 1004; transform: translateY(0%); position: fixed; left: 0px; width: calc(100% - 0px - 0px);"
|
||||
>
|
||||
<!---->
|
||||
|
||||
<div
|
||||
class="v-toolbar__content"
|
||||
style="height: 64px;"
|
||||
>
|
||||
<!---->
|
||||
<!---->
|
||||
|
||||
<div
|
||||
class="v-row"
|
||||
>
|
||||
<div
|
||||
class="v-col"
|
||||
>
|
||||
<div
|
||||
class="v-avatar v-theme--light v-avatar--density-default v-avatar--variant-flat ma-2 pa-1"
|
||||
style="background-color: #333; color: #fff; caret-color: #fff; width: 48px; height: 48px;"
|
||||
>
|
||||
<div
|
||||
aria-label=""
|
||||
class="v-responsive v-img v-img--booting"
|
||||
>
|
||||
<div
|
||||
class="v-responsive__sizer"
|
||||
/>
|
||||
|
||||
|
||||
<transition-stub
|
||||
appear="true"
|
||||
css="true"
|
||||
name="fade-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<img
|
||||
alt=""
|
||||
class="v-img__img v-img__img--cover"
|
||||
src="/src/assets/it4c-logo2-clean-bg_alpha-128x128.png"
|
||||
style="display: none;"
|
||||
/>
|
||||
</transition-stub>
|
||||
<transition-stub
|
||||
appear="false"
|
||||
css="true"
|
||||
name="fade-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<!---->
|
||||
</transition-stub>
|
||||
<!---->
|
||||
<!---->
|
||||
<!---->
|
||||
|
||||
|
||||
<!---->
|
||||
</div>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-avatar__underlay"
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="v-col d-flex align-center justify-center grow"
|
||||
>
|
||||
<a
|
||||
class="v-btn v-theme--light v-btn--density-default v-btn--size-default v-btn--variant-flat"
|
||||
href="/"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-btn__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-btn__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-btn__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
|
||||
|
||||
|
||||
$t('menu.home')
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<!---->
|
||||
<!---->
|
||||
</a>
|
||||
<a
|
||||
class="v-btn v-theme--light v-btn--density-default v-btn--size-default v-btn--variant-flat"
|
||||
href="/app"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-btn__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-btn__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-btn__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
|
||||
|
||||
|
||||
$t('menu.app')
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<!---->
|
||||
<!---->
|
||||
</a>
|
||||
<a
|
||||
class="v-btn v-theme--light v-btn--density-default v-btn--size-default v-btn--variant-flat"
|
||||
href="/about"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-btn__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-btn__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-btn__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
|
||||
|
||||
|
||||
$t('menu.about')
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<!---->
|
||||
<!---->
|
||||
</a>
|
||||
</div>
|
||||
<div
|
||||
class="v-col"
|
||||
>
|
||||
<div
|
||||
class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-locale--is-ltr v-input--dirty v-switch d-flex justify-end mr-5"
|
||||
>
|
||||
<!---->
|
||||
<div
|
||||
class="v-input__control"
|
||||
>
|
||||
|
||||
<div
|
||||
class="v-selection-control v-selection-control--dirty v-selection-control--density-default"
|
||||
>
|
||||
<div
|
||||
class="v-selection-control__wrapper text-success"
|
||||
>
|
||||
|
||||
<div
|
||||
class="v-switch__track bg-success"
|
||||
/>
|
||||
|
||||
<div
|
||||
class="v-selection-control__input"
|
||||
>
|
||||
|
||||
|
||||
<input
|
||||
aria-describedby="switch-4-messages"
|
||||
aria-disabled="false"
|
||||
id="switch-4"
|
||||
type="checkbox"
|
||||
value="true"
|
||||
/>
|
||||
<div
|
||||
class="v-switch__thumb bg-success"
|
||||
>
|
||||
<transition-stub
|
||||
appear="false"
|
||||
css="true"
|
||||
name="scale-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<!---->
|
||||
</transition-stub>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<label
|
||||
class="v-label v-label--clickable"
|
||||
for="switch-4"
|
||||
>
|
||||
<!---->
|
||||
|
||||
$t('language.german')
|
||||
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!---->
|
||||
<div
|
||||
class="v-input__details"
|
||||
>
|
||||
<transition-group-stub
|
||||
appear="false"
|
||||
aria-live="polite"
|
||||
class="v-messages"
|
||||
css="true"
|
||||
id="switch-4-messages"
|
||||
name="slide-y-transition"
|
||||
persisted="false"
|
||||
role="alert"
|
||||
tag="div"
|
||||
>
|
||||
<!---->
|
||||
</transition-group-stub>
|
||||
<!---->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!---->
|
||||
</div>
|
||||
|
||||
|
||||
<transition-stub
|
||||
appear="false"
|
||||
css="true"
|
||||
name="expand-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<!---->
|
||||
</transition-stub>
|
||||
|
||||
</header>
|
||||
|
||||
Page Content
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
31
src/components/__snapshots__/VikeBtn.test.ts.snap
Normal file
31
src/components/__snapshots__/VikeBtn.test.ts.snap
Normal file
@ -0,0 +1,31 @@
|
||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||
|
||||
exports[`VikeBtn > renders 1`] = `
|
||||
<a
|
||||
class="v-btn v-theme--light v-btn--density-default v-btn--size-default v-btn--variant-flat"
|
||||
href="/some-path"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-btn__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-btn__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-btn__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<!---->
|
||||
<!---->
|
||||
</a>
|
||||
`;
|
||||
19
src/components/menu/LogoAvatar.test.ts
Normal file
19
src/components/menu/LogoAvatar.test.ts
Normal file
@ -0,0 +1,19 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { beforeEach, expect, describe, it } from 'vitest'
|
||||
|
||||
import LogoAvatar from './LogoAvatar.vue'
|
||||
|
||||
describe('LogoAvatar', () => {
|
||||
const Wrapper = () => {
|
||||
return mount(LogoAvatar)
|
||||
}
|
||||
let wrapper: ReturnType<typeof Wrapper>
|
||||
|
||||
beforeEach(() => {
|
||||
wrapper = Wrapper()
|
||||
})
|
||||
|
||||
it('renders', () => {
|
||||
expect(wrapper.element).toMatchSnapshot()
|
||||
})
|
||||
})
|
||||
18
src/components/menu/TopMenu.test.ts
Normal file
18
src/components/menu/TopMenu.test.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import { h } from 'vue'
|
||||
import { VApp } from 'vuetify/components'
|
||||
|
||||
import TopMenu from './TopMenu.vue'
|
||||
|
||||
describe('FooterMenu', () => {
|
||||
const wrapper = mount(VApp, {
|
||||
slots: {
|
||||
default: h(TopMenu),
|
||||
},
|
||||
})
|
||||
|
||||
it('renders', () => {
|
||||
expect(wrapper.element).toMatchSnapshot()
|
||||
})
|
||||
})
|
||||
@ -1,34 +0,0 @@
|
||||
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)
|
||||
})
|
||||
})
|
||||
52
src/components/menu/__snapshots__/LogoAvatar.test.ts.snap
Normal file
52
src/components/menu/__snapshots__/LogoAvatar.test.ts.snap
Normal file
@ -0,0 +1,52 @@
|
||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||
|
||||
exports[`LogoAvatar > renders 1`] = `
|
||||
<div
|
||||
class="v-avatar v-theme--light v-avatar--density-default v-avatar--variant-flat ma-2 pa-1"
|
||||
style="background-color: #333; color: #fff; caret-color: #fff; width: 48px; height: 48px;"
|
||||
>
|
||||
<div
|
||||
aria-label=""
|
||||
class="v-responsive v-img v-img--booting"
|
||||
>
|
||||
<div
|
||||
class="v-responsive__sizer"
|
||||
/>
|
||||
|
||||
|
||||
<transition-stub
|
||||
appear="true"
|
||||
css="true"
|
||||
name="fade-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<img
|
||||
alt=""
|
||||
class="v-img__img v-img__img--cover"
|
||||
src="/src/assets/it4c-logo2-clean-bg_alpha-128x128.png"
|
||||
style="display: none;"
|
||||
/>
|
||||
</transition-stub>
|
||||
<transition-stub
|
||||
appear="false"
|
||||
css="true"
|
||||
name="fade-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<!---->
|
||||
</transition-stub>
|
||||
<!---->
|
||||
<!---->
|
||||
<!---->
|
||||
|
||||
|
||||
<!---->
|
||||
</div>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-avatar__underlay"
|
||||
/>
|
||||
|
||||
</div>
|
||||
`;
|
||||
269
src/components/menu/__snapshots__/TopMenu.test.ts.snap
Normal file
269
src/components/menu/__snapshots__/TopMenu.test.ts.snap
Normal file
@ -0,0 +1,269 @@
|
||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||
|
||||
exports[`FooterMenu > renders 1`] = `
|
||||
<div
|
||||
class="v-application v-theme--light v-layout v-layout--full-height v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-application__wrap"
|
||||
>
|
||||
|
||||
<header
|
||||
class="v-toolbar v-toolbar--flat v-toolbar--density-default v-theme--light v-locale--is-ltr v-app-bar"
|
||||
style="top: 0px; z-index: 1004; transform: translateY(0%); position: fixed; left: 0px; width: calc(100% - 0px - 0px);"
|
||||
>
|
||||
<!---->
|
||||
|
||||
<div
|
||||
class="v-toolbar__content"
|
||||
style="height: 64px;"
|
||||
>
|
||||
<!---->
|
||||
<!---->
|
||||
|
||||
<div
|
||||
class="v-row"
|
||||
>
|
||||
<div
|
||||
class="v-col"
|
||||
>
|
||||
<div
|
||||
class="v-avatar v-theme--light v-avatar--density-default v-avatar--variant-flat ma-2 pa-1"
|
||||
style="background-color: #333; color: #fff; caret-color: #fff; width: 48px; height: 48px;"
|
||||
>
|
||||
<div
|
||||
aria-label=""
|
||||
class="v-responsive v-img v-img--booting"
|
||||
>
|
||||
<div
|
||||
class="v-responsive__sizer"
|
||||
/>
|
||||
|
||||
|
||||
<transition-stub
|
||||
appear="true"
|
||||
css="true"
|
||||
name="fade-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<img
|
||||
alt=""
|
||||
class="v-img__img v-img__img--cover"
|
||||
src="/src/assets/it4c-logo2-clean-bg_alpha-128x128.png"
|
||||
style="display: none;"
|
||||
/>
|
||||
</transition-stub>
|
||||
<transition-stub
|
||||
appear="false"
|
||||
css="true"
|
||||
name="fade-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<!---->
|
||||
</transition-stub>
|
||||
<!---->
|
||||
<!---->
|
||||
<!---->
|
||||
|
||||
|
||||
<!---->
|
||||
</div>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-avatar__underlay"
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="v-col d-flex align-center justify-center grow"
|
||||
>
|
||||
<a
|
||||
class="v-btn v-theme--light v-btn--density-default v-btn--size-default v-btn--variant-flat"
|
||||
href="/"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-btn__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-btn__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-btn__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
|
||||
|
||||
|
||||
$t('menu.home')
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<!---->
|
||||
<!---->
|
||||
</a>
|
||||
<a
|
||||
class="v-btn v-theme--light v-btn--density-default v-btn--size-default v-btn--variant-flat"
|
||||
href="/app"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-btn__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-btn__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-btn__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
|
||||
|
||||
|
||||
$t('menu.app')
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<!---->
|
||||
<!---->
|
||||
</a>
|
||||
<a
|
||||
class="v-btn v-theme--light v-btn--density-default v-btn--size-default v-btn--variant-flat"
|
||||
href="/about"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-btn__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-btn__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<span
|
||||
class="v-btn__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
|
||||
|
||||
|
||||
$t('menu.about')
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<!---->
|
||||
<!---->
|
||||
</a>
|
||||
</div>
|
||||
<div
|
||||
class="v-col"
|
||||
>
|
||||
<div
|
||||
class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-locale--is-ltr v-input--dirty v-switch d-flex justify-end mr-5"
|
||||
>
|
||||
<!---->
|
||||
<div
|
||||
class="v-input__control"
|
||||
>
|
||||
|
||||
<div
|
||||
class="v-selection-control v-selection-control--dirty v-selection-control--density-default"
|
||||
>
|
||||
<div
|
||||
class="v-selection-control__wrapper text-success"
|
||||
>
|
||||
|
||||
<div
|
||||
class="v-switch__track bg-success"
|
||||
/>
|
||||
|
||||
<div
|
||||
class="v-selection-control__input"
|
||||
>
|
||||
|
||||
|
||||
<input
|
||||
aria-describedby="switch-4-messages"
|
||||
aria-disabled="false"
|
||||
id="switch-4"
|
||||
type="checkbox"
|
||||
value="true"
|
||||
/>
|
||||
<div
|
||||
class="v-switch__thumb bg-success"
|
||||
>
|
||||
<transition-stub
|
||||
appear="false"
|
||||
css="true"
|
||||
name="scale-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<!---->
|
||||
</transition-stub>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<label
|
||||
class="v-label v-label--clickable"
|
||||
for="switch-4"
|
||||
>
|
||||
<!---->
|
||||
|
||||
$t('language.german')
|
||||
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!---->
|
||||
<div
|
||||
class="v-input__details"
|
||||
>
|
||||
<transition-group-stub
|
||||
appear="false"
|
||||
aria-live="polite"
|
||||
class="v-messages"
|
||||
css="true"
|
||||
id="switch-4-messages"
|
||||
name="slide-y-transition"
|
||||
persisted="false"
|
||||
role="alert"
|
||||
tag="div"
|
||||
>
|
||||
<!---->
|
||||
</transition-group-stub>
|
||||
<!---->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!---->
|
||||
</div>
|
||||
|
||||
|
||||
<transition-stub
|
||||
appear="false"
|
||||
css="true"
|
||||
name="expand-transition"
|
||||
persisted="false"
|
||||
>
|
||||
<!---->
|
||||
</transition-stub>
|
||||
|
||||
</header>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
25
src/layouts/DefaultLayout.test.ts
Normal file
25
src/layouts/DefaultLayout.test.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { beforeEach, expect, describe, it } from 'vitest'
|
||||
import { Component, h } from 'vue'
|
||||
import { VApp } from 'vuetify/components'
|
||||
|
||||
import DefaultLayout from './DefaultLayout.vue'
|
||||
|
||||
describe('LogoAvatar', () => {
|
||||
const Wrapper = () => {
|
||||
return mount(VApp, {
|
||||
slots: {
|
||||
default: h(DefaultLayout as Component),
|
||||
},
|
||||
})
|
||||
}
|
||||
let wrapper: ReturnType<typeof Wrapper>
|
||||
|
||||
beforeEach(() => {
|
||||
wrapper = Wrapper()
|
||||
})
|
||||
|
||||
it('renders', () => {
|
||||
expect(wrapper.element).toMatchSnapshot()
|
||||
})
|
||||
})
|
||||
40
src/layouts/__snapshots__/DefaultLayout.test.ts.snap
Normal file
40
src/layouts/__snapshots__/DefaultLayout.test.ts.snap
Normal file
@ -0,0 +1,40 @@
|
||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||
|
||||
exports[`LogoAvatar > renders 1`] = `
|
||||
<div
|
||||
class="v-application v-theme--light v-layout v-layout--full-height v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-application__wrap"
|
||||
>
|
||||
|
||||
<main
|
||||
class="v-main bg-grey-lighten-3"
|
||||
style="--v-layout-left: 0px; --v-layout-right: 0px; --v-layout-top: 0px; --v-layout-bottom: 0px; transition: none !important;"
|
||||
>
|
||||
|
||||
<div
|
||||
class="v-container v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-row"
|
||||
>
|
||||
<!--v-if-->
|
||||
<div
|
||||
class="v-col"
|
||||
>
|
||||
<div
|
||||
class="v-sheet v-theme--light v-sheet--rounded pa-3"
|
||||
>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
18
src/pages/about/Page.test.ts
Normal file
18
src/pages/about/Page.test.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import { Component, h } from 'vue'
|
||||
import { VApp } from 'vuetify/components'
|
||||
|
||||
import AboutPage from './+Page.vue'
|
||||
|
||||
describe('DataPrivacyPage', () => {
|
||||
const wrapper = mount(VApp, {
|
||||
slots: {
|
||||
default: h(AboutPage as Component),
|
||||
},
|
||||
})
|
||||
|
||||
it('renders', () => {
|
||||
expect(wrapper.element).toMatchSnapshot()
|
||||
})
|
||||
})
|
||||
68
src/pages/about/__snapshots__/Page.test.ts.snap
Normal file
68
src/pages/about/__snapshots__/Page.test.ts.snap
Normal file
@ -0,0 +1,68 @@
|
||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||
|
||||
exports[`DataPrivacyPage > renders 1`] = `
|
||||
<div
|
||||
class="v-application v-theme--light v-layout v-layout--full-height v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-application__wrap"
|
||||
>
|
||||
|
||||
<main
|
||||
class="v-main bg-grey-lighten-3"
|
||||
style="--v-layout-left: 0px; --v-layout-right: 0px; --v-layout-top: 0px; --v-layout-bottom: 0px;"
|
||||
>
|
||||
|
||||
<div
|
||||
class="v-container v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-row"
|
||||
>
|
||||
<!--v-if-->
|
||||
<div
|
||||
class="v-col"
|
||||
>
|
||||
<div
|
||||
class="v-sheet v-theme--light v-sheet--rounded pa-3"
|
||||
>
|
||||
|
||||
<h1>
|
||||
$t('about.h1')
|
||||
</h1>
|
||||
<p>
|
||||
Um mehr über diese Kochplatte zu erfahren kannst du dir den Quellcode auf
|
||||
|
||||
<a
|
||||
href="https://github.com/IT4Change/boilerplate-frontend/"
|
||||
target="_blank"
|
||||
>
|
||||
$t('about.link1')
|
||||
</a>
|
||||
|
||||
anschauen.
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
Du willst mehr erfahren? Besuche uns auf
|
||||
|
||||
<a
|
||||
href="https://it4c.dev"
|
||||
target="_blank"
|
||||
>
|
||||
$t('about.link2')
|
||||
</a>
|
||||
|
||||
.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
18
src/pages/app/Page.test.ts
Normal file
18
src/pages/app/Page.test.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import { Component, h } from 'vue'
|
||||
import { VApp } from 'vuetify/components'
|
||||
|
||||
import AppPage from './+Page.vue'
|
||||
|
||||
describe('DataPrivacyPage', () => {
|
||||
const wrapper = mount(VApp, {
|
||||
slots: {
|
||||
default: h(AppPage as Component),
|
||||
},
|
||||
})
|
||||
|
||||
it('renders', () => {
|
||||
expect(wrapper.element).toMatchSnapshot()
|
||||
})
|
||||
})
|
||||
161
src/pages/app/__snapshots__/Page.test.ts.snap
Normal file
161
src/pages/app/__snapshots__/Page.test.ts.snap
Normal file
@ -0,0 +1,161 @@
|
||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||
|
||||
exports[`DataPrivacyPage > renders 1`] = `
|
||||
<div
|
||||
class="v-application v-theme--light v-layout v-layout--full-height v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-application__wrap"
|
||||
>
|
||||
|
||||
<main
|
||||
class="v-main bg-grey-lighten-3"
|
||||
style="--v-layout-left: 0px; --v-layout-right: 0px; --v-layout-top: 0px; --v-layout-bottom: 0px;"
|
||||
>
|
||||
|
||||
<div
|
||||
class="v-container v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-row"
|
||||
>
|
||||
<div
|
||||
class="v-col v-col-2"
|
||||
>
|
||||
<div
|
||||
class="v-sheet v-theme--light v-sheet--rounded"
|
||||
>
|
||||
|
||||
<div
|
||||
class="v-list v-theme--light v-list--density-default v-list--one-line v-list--rounded"
|
||||
role="listbox"
|
||||
tabindex="0"
|
||||
>
|
||||
|
||||
<a
|
||||
class="v-list-item v-list-item--active v-list-item--link v-theme--light v-list-item--density-default v-list-item--one-line v-list-item--variant-text"
|
||||
href="/app"
|
||||
tabindex="-2"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-list-item__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-list-item__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<div
|
||||
class="v-list-item__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
<div
|
||||
class="v-list-item-title"
|
||||
>
|
||||
$t('app.value.menu')
|
||||
</div>
|
||||
<!---->
|
||||
<!---->
|
||||
</div>
|
||||
<!---->
|
||||
</a>
|
||||
<a
|
||||
class="v-list-item v-list-item--link v-theme--light v-list-item--density-default v-list-item--one-line v-list-item--variant-text"
|
||||
href="/app/inc"
|
||||
tabindex="-2"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-list-item__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-list-item__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<div
|
||||
class="v-list-item__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
<div
|
||||
class="v-list-item-title"
|
||||
>
|
||||
$t('app.inc.menu')
|
||||
</div>
|
||||
<!---->
|
||||
<!---->
|
||||
</div>
|
||||
<!---->
|
||||
</a>
|
||||
<hr
|
||||
aria-orientation="horizontal"
|
||||
class="v-divider v-theme--light my-2"
|
||||
role="separator"
|
||||
/>
|
||||
<a
|
||||
class="v-list-item v-list-item--link v-theme--light v-list-item--density-default v-list-item--one-line v-list-item--variant-text"
|
||||
href="/app/reset"
|
||||
tabindex="-2"
|
||||
>
|
||||
|
||||
<span
|
||||
class="v-list-item__overlay"
|
||||
/>
|
||||
<span
|
||||
class="v-list-item__underlay"
|
||||
/>
|
||||
|
||||
<!---->
|
||||
<div
|
||||
class="v-list-item__content"
|
||||
data-no-activator=""
|
||||
>
|
||||
<div
|
||||
class="v-list-item-title"
|
||||
>
|
||||
$t('app.reset.menu')
|
||||
</div>
|
||||
<!---->
|
||||
<!---->
|
||||
</div>
|
||||
<!---->
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="v-col"
|
||||
>
|
||||
<div
|
||||
class="v-sheet v-theme--light v-sheet--rounded pa-3"
|
||||
>
|
||||
|
||||
<div>
|
||||
<h1>
|
||||
$t('app.value.h1')
|
||||
</h1>
|
||||
<p>
|
||||
Der aktuelle Wert des Zählers lautet:
|
||||
|
||||
|
||||
<b>
|
||||
0
|
||||
</b>
|
||||
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
18
src/pages/index/Page.test.ts
Normal file
18
src/pages/index/Page.test.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import { Component, h } from 'vue'
|
||||
import { VApp } from 'vuetify/components'
|
||||
|
||||
import IndexPage from './+Page.vue'
|
||||
|
||||
describe('DataPrivacyPage', () => {
|
||||
const wrapper = mount(VApp, {
|
||||
slots: {
|
||||
default: h(IndexPage as Component),
|
||||
},
|
||||
})
|
||||
|
||||
it('renders', () => {
|
||||
expect(wrapper.element).toMatchSnapshot()
|
||||
})
|
||||
})
|
||||
69
src/pages/index/__snapshots__/Page.test.ts.snap
Normal file
69
src/pages/index/__snapshots__/Page.test.ts.snap
Normal file
@ -0,0 +1,69 @@
|
||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||
|
||||
exports[`DataPrivacyPage > renders 1`] = `
|
||||
<div
|
||||
class="v-application v-theme--light v-layout v-layout--full-height v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-application__wrap"
|
||||
>
|
||||
|
||||
<main
|
||||
class="v-main bg-grey-lighten-3"
|
||||
style="--v-layout-left: 0px; --v-layout-right: 0px; --v-layout-top: 0px; --v-layout-bottom: 0px;"
|
||||
>
|
||||
|
||||
<div
|
||||
class="v-container v-locale--is-ltr"
|
||||
>
|
||||
<div
|
||||
class="v-row"
|
||||
>
|
||||
<!--v-if-->
|
||||
<div
|
||||
class="v-col"
|
||||
>
|
||||
<div
|
||||
class="v-sheet v-theme--light v-sheet--rounded pa-3"
|
||||
>
|
||||
|
||||
<h1>
|
||||
$t('home.h1')
|
||||
</h1>
|
||||
<p>
|
||||
$t('home.text1')
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
$t('home.text2')
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
$t('home.text3')
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
$t('home.text4')
|
||||
<i
|
||||
aria-hidden="true"
|
||||
class="mdi-heart mdi v-icon notranslate v-theme--light v-icon--size-default text-red"
|
||||
/>
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
$t('home.greet1')
|
||||
</p>
|
||||
<p>
|
||||
$t('home.greet2')
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
Loading…
x
Reference in New Issue
Block a user