import * as React from 'react';
import { composeStories } from '@storybook/testing-react';
import * as Stories from './Tabs.stories';
import { render, screen, fireEvent } from '@testing-library/react';
const {
TabBar,
VerticalTabBar,
Bulb,
BulbWithIcon,
VerticalBulbs,
Seperated,
Disabled,
} = composeStories(Stories);
describe('Tabs - Tab Bar', () => {
const defaultSelectedKey = TabBar.args?.defaultActiveKey;
it('Should Render', () => {
render();
const element = screen.getByTestId('tabs_list_parent');
expect(element).toBeDefined();
});
it('Should set active key to default one', () => {
render();
const element = screen.getByTestId(
`tab_item_${defaultSelectedKey}_true`,
);
expect(element).toBeDefined();
});
it('Should change active key if new one is clicked', () => {
render();
const element = screen.getByTestId(`tab_item_2_false`);
fireEvent.click(element);
const el = screen.getByTestId(`tab_item_2_true`);
expect(el).toBeDefined();
});
it('Should Render Icons', () => {
render();
const element = screen.getAllByTestId(`test-icon`);
expect(element.length).toBeGreaterThanOrEqual(2);
});
});
describe('Tabs - Vertical Tab Bar', () => {
const defaultSelectedKey = TabBar.args?.defaultActiveKey;
it('Should Render', () => {
render();
const element = screen.getByTestId('tabs_list_parent');
expect(element).toBeDefined();
});
it('Should set active key to default one', () => {
render();
const element = screen.getByTestId(
`tab_item_${defaultSelectedKey}_true`,
);
expect(element).toBeDefined();
});
it('Should Render Text Associated with card', () => {
render();
const element = screen.getAllByText('This is Card 1');
expect(element).toBeDefined();
});
it('Should change active key if new one is clicked', () => {
render();
const element = screen.getByTestId(`tab_item_2_false`);
fireEvent.click(element);
const el = screen.getByTestId(`tab_item_2_true`);
expect(el).toBeDefined();
});
});
describe('Tabs - Bulb', () => {
const defaultSelectedKey = TabBar.args?.defaultActiveKey;
it('Should Render', () => {
render();
const element = screen.getByTestId('tabs_list_parent');
expect(element).toBeDefined();
});
it('Should set active key to default one', () => {
render();
const element = screen.getByTestId(
`tab_item_${defaultSelectedKey}_true`,
);
expect(element).toBeDefined();
});
it('Should Render Text Associated with card', () => {
render();
const element = screen.getAllByText('This is Card 1');
expect(element).toBeDefined();
});
it('Should change active key if new one is clicked', () => {
render();
const element = screen.getByTestId(`tab_item_2_false`);
fireEvent.click(element);
const el = screen.getByTestId(`tab_item_2_true`);
expect(el).toBeDefined();
});
});
describe('Tabs - Bulb With Icon', () => {
const defaultSelectedKey = TabBar.args?.defaultActiveKey;
it('Should Render', () => {
render();
const element = screen.getByTestId('tabs_list_parent');
expect(element).toBeDefined();
});
it('Should set active key to default one', () => {
render();
const element = screen.getByTestId(
`tab_item_${defaultSelectedKey}_true`,
);
expect(element).toBeDefined();
});
it('Should Render Text Associated with card', () => {
render();
const element = screen.getAllByText('This is Card 1');
expect(element).toBeDefined();
});
it('Should change active key if new one is clicked', () => {
render();
const element = screen.getByTestId(`tab_item_2_false`);
fireEvent.click(element);
const el = screen.getByTestId(`tab_item_2_true`);
expect(el).toBeDefined();
});
it('Should Render Icons', () => {
render();
const element = screen.getAllByTestId(`test-icon`);
expect(element.length).toBeGreaterThanOrEqual(2);
});
});
describe('Tabs - Vertical', () => {
const defaultSelectedKey = TabBar.args?.defaultActiveKey;
it('Should Render', () => {
render();
const element = screen.getByTestId('tabs_list_parent');
expect(element).toBeDefined();
});
it('Should set active key to default one', () => {
render();
const element = screen.getByTestId(
`tab_item_${defaultSelectedKey}_true`,
);
expect(element).toBeDefined();
});
it('Should Render Text Associated with card', () => {
render();
const element = screen.getAllByText('This is Card 1');
expect(element).toBeDefined();
});
it('Should change active key if new one is clicked', () => {
render();
const element = screen.getByTestId(`tab_item_2_false`);
fireEvent.click(element);
const el = screen.getByTestId(`tab_item_2_true`);
expect(el).toBeDefined();
});
it('Should Render Icons', () => {
render();
const element = screen.getAllByTestId(`test-icon`);
expect(element.length).toBeGreaterThanOrEqual(2);
});
});
describe('Tabs - Sepratated', () => {
const defaultSelectedKey = TabBar.args?.defaultActiveKey;
it('Should Render', () => {
render();
const element = screen.getByTestId('tabs_list_parent');
expect(element).toBeDefined();
});
it('Should set active key to default one', () => {
render();
const element = screen.getByTestId(
`tab_item_${defaultSelectedKey}_true`,
);
expect(element).toBeDefined();
});
it('Should Render Text Associated with card', () => {
render();
const element = screen.getAllByText('This is Card 1');
expect(element).toBeDefined();
});
it('Should change active key if new one is clicked', () => {
render();
const element = screen.getByTestId(`tab_item_2_false`);
fireEvent.click(element);
const el = screen.getByTestId(`tab_item_2_true`);
expect(el).toBeDefined();
});
});
describe('Tabs - Disabled', () => {
const defaultSelectedKey = TabBar.args?.defaultActiveKey;
it('Should Render', () => {
render();
const element = screen.getByTestId('tabs_list_parent');
expect(element).toBeDefined();
});
it('Should set active key to default one', () => {
render();
const element = screen.getByTestId(
`tab_item_${defaultSelectedKey}_true`,
);
expect(element).toBeDefined();
});
it('Should Render Text Associated with card', () => {
render();
const element = screen.getAllByText('This is Card 1');
expect(element).toBeDefined();
});
it('Should change active key if new one is clicked', () => {
render();
const element = screen.getByTestId(`tab_item_3_false`);
fireEvent.click(element);
const el = screen.getByTestId(`tab_item_3_true`);
expect(el).toBeDefined();
});
it('Should not change active key if disabled one is clicked', () => {
render();
const element = screen.getByText('Disabled');
fireEvent.click(element);
const el = screen.getByTestId(`tab_item_1_true`);
expect(el).toBeDefined();
});
});