import React from 'react';
import { render, screen } from '@testing-library/react';
import CartArrowDownIcon from '@patternfly/react-icons/dist/esm/icons/cart-arrow-down-icon';
import { Button, ButtonVariant } from '../Button';
describe('Button', () => {
Object.values(ButtonVariant).forEach(variant => {
test(`${variant} button`, () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
});
test('it adds an aria-label to plain buttons', () => {
const label = 'aria-label test';
render();
expect(screen.getByLabelText(label)).toBeTruthy();
});
test('link with icon', () => {
const { asFragment } = render(
}>
Block Button
);
expect(asFragment()).toMatchSnapshot();
});
test('isBlock', () => {
const { asFragment } = render();
expect(asFragment()).toMatchSnapshot();
});
test('isDisabled', () => {
const { asFragment } = render();
expect(asFragment()).toMatchSnapshot();
});
test('isDanger secondary', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('isDanger link', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('isAriaDisabled button', () => {
const { asFragment } = render();
expect(asFragment()).toMatchSnapshot();
});
test('isAriaDisabled link button', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('isInline', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('size small', () => {
const { asFragment } = render();
expect(asFragment()).toMatchSnapshot();
});
test('size large', () => {
const { asFragment } = render();
expect(asFragment()).toMatchSnapshot();
});
test('isLoading', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('isLoading inline link', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('isLoading icon only', () => {
const { asFragment } = render(