Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import '@testing-library/jest-dom';

import { Form } from '../../Form';
import { FormSelect } from '../FormSelect';
import { FormSelectOption } from '../FormSelectOption';
import { FormSelectOptionGroup } from '../FormSelectOptionGroup';
Expand Down
66 changes: 33 additions & 33 deletions packages/react-core/src/components/List/__tests__/List.test.tsx
Original file line number Diff line number Diff line change
@@ -1,120 +1,120 @@
import React from 'react';
import { render } from '@testing-library/react';
import { mount } from 'enzyme';
import { List, ListVariant, ListComponent, OrderType } from '../List';
import { ListItem } from '../ListItem';

import { render, screen } from '@testing-library/react';
import '@testing-library/jest-dom';

import BookOpen from '@patternfly/react-icons/dist/esm/icons/book-open-icon';
import Key from '@patternfly/react-icons/dist/esm/icons/key-icon';
import Desktop from '@patternfly/react-icons/dist/esm/icons/desktop-icon';
import { List, ListVariant, ListComponent, OrderType } from '../List';
import { ListItem } from '../ListItem';

const ListItems = () => (
<React.Fragment>
<List>
<ListItem>First</ListItem>
<ListItem>Second</ListItem>
<ListItem>Third</ListItem>
</List>
</React.Fragment>
<List>
<ListItem>First</ListItem>
<ListItem>Second</ListItem>
<ListItem>Third</ListItem>
</List>
);

describe('list', () => {
describe('List', () => {
test('simple list', () => {
const view = render(
const { asFragment } = render(
<List>
<ListItems />
</List>
);
expect(view.container).toMatchSnapshot();
expect(asFragment()).toMatchSnapshot();
});

test('inline list', () => {
const view = render(
const { asFragment } = render(
<List variant={ListVariant.inline}>
<ListItems />
</List>
);
expect(view.container).toMatchSnapshot();
expect(asFragment()).toMatchSnapshot();
});

test('ordered list', () => {
const view = mount(
const { asFragment } = render(
<List component={ListComponent.ol}>
<ListItem>Apple</ListItem>
<ListItem>Banana</ListItem>
<ListItem>Orange</ListItem>
</List>
);
expect(view.find('ol').length).toBe(1);
expect(asFragment()).toMatchSnapshot();
});

test('ordered list starts with 2nd item', () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these 2 tests still be included to test start and type properties?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, they should. I'll update. I was maybe thinking those weren't props that translated to ones we'd see in the DOM.

const view = mount(
render(
<List component={ListComponent.ol} start={2}>
<ListItem>Banana</ListItem>
<ListItem>Orange</ListItem>
</List>
);
expect(view.find('ol').prop('start')).toBe(2);
expect(screen.getByRole('list')).toHaveAttribute('start', '2');
});

test('ordered list items will be numbered with uppercase letters', () => {
const view = mount(
render(
<List component={ListComponent.ol} type={OrderType.uppercaseLetter}>
<ListItem>Banana</ListItem>
<ListItem>Orange</ListItem>
</List>
);
expect(view.find('ol').prop('type')).toBe('A');
expect(screen.getByRole('list')).toHaveAttribute('type', 'A');
});

test('inlined ordered list', () => {
const view = mount(
render(
<List variant={ListVariant.inline} component={ListComponent.ol}>
<ListItem>Apple</ListItem>
<ListItem>Banana</ListItem>
<ListItem>Orange</ListItem>
</List>
);
expect(view.find('ol.pf-m-inline').length).toBe(1);
expect(screen.getByRole('list')).toHaveClass('pf-m-inline');
});

test('bordered list', () => {
const view = render(
render(
<List isBordered>
<ListItems />
</List>
);
expect(view.container).toMatchSnapshot();
expect(screen.getAllByRole('list')[0]).toHaveClass('pf-m-bordered');
});

test('plain list', () => {
const view = render(
render(
<List isPlain>
<ListItems />
</List>
);
expect(view.container).toMatchSnapshot();
expect(screen.getAllByRole('list')[0]).toHaveClass('pf-m-plain');
});

test('icon list', () => {
const view = render(
const { asFragment } = render(
<List isPlain>
<ListItem icon={<BookOpen />}>Apple</ListItem>
<ListItem icon={<Key />}>Banana</ListItem>
<ListItem icon={<Desktop />}>Orange</ListItem>
</List>
);
expect(view.container).toMatchSnapshot();
expect(asFragment()).toMatchSnapshot();
});

test('icon large list', () => {
const view = render(
<List iconSize='large'>
const { asFragment } = render(
<List iconSize="large">
<ListItem icon={<BookOpen />}>Apple</ListItem>
<ListItem icon={<Key />}>Banana</ListItem>
<ListItem icon={<Desktop />}>Orange</ListItem>
</List>
);
expect(view.container).toMatchSnapshot();
expect(asFragment()).toMatchSnapshot();
});
});
Original file line number Diff line number Diff line change
@@ -1,35 +1,7 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`list bordered list 1`] = `
<div>
<ul
class="pf-c-list pf-m-bordered"
>
<ul
class="pf-c-list"
>
<li
class=""
>
First
</li>
<li
class=""
>
Second
</li>
<li
class=""
>
Third
</li>
</ul>
</ul>
</div>
`;

exports[`list icon large list 1`] = `
<div>
exports[`List icon large list 1`] = `
<DocumentFragment>
<ul
class="pf-c-list pf-m-icon-lg"
>
Expand Down Expand Up @@ -100,11 +72,11 @@ exports[`list icon large list 1`] = `
Orange
</li>
</ul>
</div>
</DocumentFragment>
`;

exports[`list icon list 1`] = `
<div>
exports[`List icon list 1`] = `
<DocumentFragment>
<ul
class="pf-c-list pf-m-plain"
>
Expand Down Expand Up @@ -175,11 +147,11 @@ exports[`list icon list 1`] = `
Orange
</li>
</ul>
</div>
</DocumentFragment>
`;

exports[`list inline list 1`] = `
<div>
exports[`List inline list 1`] = `
<DocumentFragment>
<ul
class="pf-c-list pf-m-inline"
>
Expand All @@ -203,39 +175,36 @@ exports[`list inline list 1`] = `
</li>
</ul>
</ul>
</div>
</DocumentFragment>
`;

exports[`list plain list 1`] = `
<div>
<ul
class="pf-c-list pf-m-plain"
exports[`List ordered list 1`] = `
<DocumentFragment>
<ol
class="pf-c-list"
type="1"
>
<ul
class="pf-c-list"
<li
class=""
>
<li
class=""
>
First
</li>
<li
class=""
>
Second
</li>
<li
class=""
>
Third
</li>
</ul>
</ul>
</div>
Apple
</li>
<li
class=""
>
Banana
</li>
<li
class=""
>
Orange
</li>
</ol>
</DocumentFragment>
`;

exports[`list simple list 1`] = `
<div>
exports[`List simple list 1`] = `
<DocumentFragment>
<ul
class="pf-c-list"
>
Expand All @@ -259,5 +228,5 @@ exports[`list simple list 1`] = `
</li>
</ul>
</ul>
</div>
</DocumentFragment>
`;
70 changes: 37 additions & 33 deletions packages/react-core/src/components/Menu/__tests__/Menu.test.tsx
Original file line number Diff line number Diff line change
@@ -1,46 +1,50 @@
import React from 'react';
import { render } from '@testing-library/react';
import { mount } from 'enzyme';

import { render, screen } from '@testing-library/react';
import "@testing-library/jest-dom";

import { Menu } from '../Menu';

test('should render Menu successfully', () => {
const view = render(
<Menu activeItemId={0} onSelect={jest.fn()}>
content
</Menu>
describe('Menu', () => {
test('should render Menu successfully', () => {
const { asFragment } = render(
<Menu activeItemId={0} onSelect={jest.fn()}>
content
</Menu>
);
expect(view.container).toMatchSnapshot();
});
expect(asFragment()).toMatchSnapshot();
});

describe('with isPlain', () => {
describe('with isPlain', () => {
test('should render Menu with plain styles applied', () => {
const view = mount(
<Menu activeItemId={0} onSelect={jest.fn()} isPlain>
content
</Menu>
);
expect(view.find('div.pf-m-plain')).toMatchSnapshot();
render(
<Menu activeItemId={0} onSelect={jest.fn()} isPlain>
content
</Menu>
);
expect(screen.getByText('content')).toHaveClass('pf-m-plain');
});
});
});

describe('with isScrollable', () => {
describe('with isScrollable', () => {
test('should render Menu with scrollable styles applied', () => {
const view = mount(
<Menu activeItemId={0} onSelect={jest.fn()} isScrollable>
content
</Menu>
);
expect(view.find('div.pf-m-scrollable')).toMatchSnapshot();
render(
<Menu activeItemId={0} onSelect={jest.fn()} isScrollable>
content
</Menu>
);
expect(screen.getByText('content')).toHaveClass('pf-m-scrollable');
});
});
});

describe('with isNavFlyout', () => {
describe('with isNavFlyout', () => {
test('should render Menu with nav flyout styles applied', () => {
const view = mount(
<Menu activeItemId={0} onSelect={jest.fn()} isNavFlyout>
content
</Menu>
);
expect(view.find('div.pf-m-nav')).toMatchSnapshot();
render(
<Menu activeItemId={0} onSelect={jest.fn()} isNavFlyout>
content
</Menu>
);
expect(screen.getByText('content')).toHaveClass('pf-m-nav');
});
});
});
});
Loading