import React from 'react';
import { render, screen } from '@testing-library/react';
import { composeStories } from '@storybook/testing-react';
import * as stories from './Card.stories';
const { Regular, RegularSelected, Disabled } = composeStories(stories);
const cardId = 'card-test-id';
const checkmarkId = 'check-test-id';
const descriptionId = 'desc-test-id';
const titleId = 'title-test-id';
const headerId = 'header-test-id';
test('Renders - Card Regular', () => {
render();
const desc = Regular?.args?.description;
const text = Regular?.args?.title;
expect(screen.getByTestId(cardId)).not.toBeNull();
expect(screen.getByTestId(titleId).textContent).toBe(text);
expect(screen.getByTestId(descriptionId).textContent).toBe(desc);
expect(screen.queryByTestId(checkmarkId)).toBeNull();
});
test('Renders - Card Selected', () => {
render();
const text = RegularSelected?.args?.title;
const desc = RegularSelected?.args?.description;
expect(screen.getByTestId(cardId)).not.toBeNull();
expect(screen.getByTestId(titleId).textContent).toBe(text);
expect(screen.getByTestId(descriptionId).textContent).toBe(desc);
expect(screen.getByTestId(headerId)).not.toBeNull();
});
test('Renders - Card Disabled', () => {
render();
const desc = Disabled?.args?.description;
const text = Disabled?.args?.title;
expect(screen.getByTestId(cardId)).not.toBeNull();
expect(screen.getByTestId(titleId).textContent).toBe(text);
expect(screen.queryByTestId(descriptionId)?.textContent).toBe(desc);
expect(screen.getByTestId(headerId)).not.toBeNull();
});