vitest/packages/ui/client/components/dashboard/DashboardEntry.spec.ts

27 lines
841 B
TypeScript

import { faker } from '@faker-js/faker'
import { describe, expect, it } from 'vitest'
import { h } from 'vue'
import { page, render } from '~/test'
import DashboardEntry from './DashboardEntry.vue'
const bodyTestId = 'body-content'
const headerTestId = 'header-content'
function div(o: { testId: string; body: string }) {
return h('div', { 'data-testid': o.testId }, o.body)
}
describe('DashboardEntry', () => {
it('renders the body and header slots', async () => {
render(DashboardEntry, {
slots: {
body: div({ testId: bodyTestId, body: faker.lorem.words(2) }),
header: div({ testId: headerTestId, body: faker.hacker.phrase() }),
},
})
await expect.element(page.getByTestId(bodyTestId)).toBeInTheDocument()
await expect.element(page.getByTestId(headerTestId)).toBeInTheDocument()
})
})