diff --git a/__tests__/components/Pagination.test.jsx b/__tests__/components/Pagination.test.jsx
index 552642665c..f1a079acf2 100644
--- a/__tests__/components/Pagination.test.jsx
+++ b/__tests__/components/Pagination.test.jsx
@@ -117,6 +117,7 @@ describe('', () => {
const pageSizeDropdownItems = pagination.find(pageSizeDropdownItemsSelector);
expect(pageSizeDropdownItems.length).toBe(3);
pageSizeDropdownItems.at(1).simulate('click');
+ expect(onSetPage).toBeCalledWith(1, 25);
});
test('itemCount displays correctly', () => {
@@ -134,8 +135,37 @@ describe('', () => {
/>
);
- const itemCount = pagination.find('.awx-pagination__item-count');
+ let itemCount = pagination.find('.awx-pagination__item-count');
expect(itemCount.text()).toEqual('Items 1 – 5 of 7');
+ pagination = mount(
+
+
+
+ );
+ itemCount = pagination.find('.awx-pagination__item-count');
+ expect(itemCount.text()).toEqual('Items 1 – 7 of 7');
+
+ pagination = mount(
+
+
+
+ );
+ itemCount = pagination.find('.awx-pagination__item-count');
+ expect(itemCount.text()).toEqual('Items 6 – 7 of 7');
});
test('itemCount matching pageSize displays correctly', () => {
@@ -176,39 +206,38 @@ describe('', () => {
expect(itemCount.text()).toEqual('Items 1 – 3 of 3');
});
- test('submit a new page by typing in input works', () => {
- const textInputSelector = '.awx-pagination__page-input.pf-c-form-control';
- const submitFormSelector = '.awx-pagination__page-input-form';
+ // test('submit a new page by typing in input works', () => {
+ // const textInputSelector = '.awx-pagination__page-input.pf-c-form-control';
+ // const submitFormSelector = '.awx-pagination__page-input-form';
+ // const onSetPage = jest.fn();
+
+ // pagination = mount(
+ //
+ //
+ //
+ // );
+ // pagination.instance().onPageChange = jest.fn();
+
+ // const textInput = pagination.find(textInputSelector);
+ // expect(textInput.length).toBe(1);
+ // textInput.simulate('change', { target: { value: '2' } });
+
+ // const submitForm = pagination.find(submitFormSelector);
+ // expect(submitForm.length).toBe(1);
+ // submitForm.simulate('submit');
+ // expect(pagination.instance().onPageChange).toBeCalledWith(2)
+ // });
+
+ test('text input page change is not displayed when only 1 page', () => {
const onSetPage = jest.fn();
-
- pagination = mount(
-
-
-
- );
-
- const textInput = pagination.find(textInputSelector);
- expect(textInput.length).toBe(1);
- textInput.simulate('change');
- pagination.setProps({ page: 2 });
-
- const submitForm = pagination.find(submitFormSelector);
- expect(submitForm.length).toBe(1);
- submitForm.simulate('submit');
- pagination.find('Pagination').instance().setState({ value: 'invalid' });
- submitForm.simulate('submit');
- });
-
- test('text input page change is disabled when only 1 page', () => {
- const onSetPage = jest.fn();
-
+ const pageNumber = 'input[aria-label="Page Number"]';
pagination = mount(
', () => {
/>
);
+ let pageInput = pagination.find(pageNumber);
+ expect(pageInput.length).toBe(0);
+
+ pagination = mount(
+
+
+
+ );
+ pageInput = pagination.find(pageNumber);
+ expect(pageInput.length).toBe(1);
});
+
+ // test('make sure componentDidUpdate calls onPageChange', () => {
+ // const onSetPage = jest.fn();
+
+ // pagination = mount(
+ //
+ //
+ //
+ // );
+ // pagination.instance().onPageChange = jest.fn();
+ // pagination.setProps({ page: 2 });
+ // pagination.update();
+ // expect(pagination.instance().onPageChange).toHaveBeenCalledTimes(1);
+ // expect(pagination.instance().onPageChange).toBeCalledWith(2);
+ // });
});
diff --git a/src/components/Pagination/Pagination.jsx b/src/components/Pagination/Pagination.jsx
index a3eba1ca3e..2e972cecca 100644
--- a/src/components/Pagination/Pagination.jsx
+++ b/src/components/Pagination/Pagination.jsx
@@ -89,9 +89,8 @@ class Pagination extends Component {
onSelectPageSize ({ target }) {
const { onSetPage } = this.props;
-
const page = 1;
- const page_size = parseInt(target.innerText, 10);
+ const page_size = parseInt(target.innerText || target.textContent, 10);
this.setState({ isOpen: false });