import { render, screen } from '@testing-library/react';
import '@testing-library/jest-dom';
import userEvent from '@testing-library/user-event';
import { monitorSampleAppQuickStart } from './monitor-sampleapp-quickstart';
import QuickStartTileDescription, { pluralizeWord } from './QuickStartTileDescription';
describe('pluralizeWord function', () => {
it('should render no plural correctly', () => {
expect(pluralizeWord(2, 'pizza')).toBe('pizzas');
});
});
describe('QuickStart tile description', () => {
it('should render no prereqs correctly', () => {
render();
expect(screen.queryByRole('heading')).toBeFalsy();
});
it('should render singular prereq correctly', () => {
render(
);
expect(screen.getByRole('heading', { name: /1 Prerequisite/i })).toBeTruthy();
expect(screen.getByRole('button', { name: /Show prerequisite/i })).toBeTruthy();
});
it('should render plural prereq correctly', () => {
render(
);
expect(screen.getByRole('heading', { name: /2 Prerequisites/i })).toBeTruthy();
expect(screen.getByRole('button', { name: /Show prerequisites/i })).toBeTruthy();
});
it('should be able to click prereqs link', async () => {
render(
);
const button = screen.getByRole('button', { name: /Show prerequisites/i });
expect(screen.queryByRole('dialog', { name: /Prerequisite/i })).toBeFalsy();
await userEvent.click(button);
expect(screen.getByRole('dialog', { name: /Prerequisite/i })).toBeTruthy();
expect(screen.getByRole('button', { name: /Close/i })).toBeTruthy();
expect(screen.getByText(/You completed the "Getting started with a sample" quick start./i)).toBeTruthy();
});
});