From 65adc7f0c0cad492a75ae54fbf2261e2eb28cda9 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Fri, 9 Dec 2022 02:13:27 +0100 Subject: [PATCH] tests: add tests --- tests/Button.test.tsx | 19 +++++++++++++++++++ tests/Home.test.tsx | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 tests/Button.test.tsx create mode 100644 tests/Home.test.tsx diff --git a/tests/Button.test.tsx b/tests/Button.test.tsx new file mode 100644 index 0000000..8ad4685 --- /dev/null +++ b/tests/Button.test.tsx @@ -0,0 +1,19 @@ +import { expect, test } from 'vitest' +import { render, screen, cleanup } from '@testing-library/react' +import { Button } from '@/components/Button' + +test('button', () => { + render() + + expect(screen.getByText('Hello')).toBeDefined() + + cleanup() +}) + +test('button-with-link', () => { + render() + + expect(screen.getByText('Hello').getAttribute('href')).toBe('/country-road') + + cleanup() +}) diff --git a/tests/Home.test.tsx b/tests/Home.test.tsx new file mode 100644 index 0000000..36a46a6 --- /dev/null +++ b/tests/Home.test.tsx @@ -0,0 +1,19 @@ +import { expect, test } from 'vitest' +import { render, screen, within } from '@testing-library/react' +import Home from '../pages' + +test('home', () => { + render() + const main = within(screen.getByRole('main')) + expect(main.getByRole('heading', { level: 1, name: /DevOps jednoduše pro všechny./i })).toBeDefined() + + const meets = screen.getAllByText(/Domluvme si schůzku/i) + meets.map( + (m) => expect(m.getAttribute('href')) + .toBe('https://calendly.com/vojtechmares/30min') + ) + + // const footer = within(screen.getByRole('contentinfo')) + // const link = within(footer.getByRole('link')) + // expect(link.getByRole('img', { name: /vercel logo/i })).toBeDefined() +})