diff --git a/__tests__/components/Pagination.test.jsx b/__tests__/components/Pagination.test.jsx
index f1a079acf2..fc51215651 100644
--- a/__tests__/components/Pagination.test.jsx
+++ b/__tests__/components/Pagination.test.jsx
@@ -206,34 +206,73 @@ 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';
- // const onSetPage = jest.fn();
+ test('submitting 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();
+ pagination = mount(
+
+
+
+ );
+ const paginationElem = pagination.find('Pagination');
+ expect(paginationElem.state().value).toBe(1);
+ const textInput = pagination.find(textInputSelector);
+ expect(textInput.length).toBe(1);
+ expect(textInput.at(0).prop('value')).toBe(1);
+ const input = pagination.find('TextInput');
+ expect(input.prop('value')).toBe(1);
+ input.prop('onChange')(2);
+ pagination.update();
+ const submitForm = pagination.find(submitFormSelector);
+ expect(submitForm.length).toBe(1);
+ submitForm.simulate('submit');
+ expect(pagination.find('TextInput').prop('value')).toBe(2);
+ // assert onPageChange was called
+ expect(paginationElem.state().value).toBe(2);
+ });
- // const textInput = pagination.find(textInputSelector);
- // expect(textInput.length).toBe(1);
- // textInput.simulate('change', { target: { value: '2' } });
+ test('submitting a new page by typing in input does not work when invalid', () => {
+ const textInputSelector = '.awx-pagination__page-input.pf-c-form-control';
+ const submitFormSelector = '.awx-pagination__page-input-form';
+ const onSetPage = jest.fn();
- // const submitForm = pagination.find(submitFormSelector);
- // expect(submitForm.length).toBe(1);
- // submitForm.simulate('submit');
- // expect(pagination.instance().onPageChange).toBeCalledWith(2)
- // });
+ pagination = mount(
+
+
+
+ );
+ const paginationElem = pagination.find('Pagination');
+ expect(paginationElem.state().value).toBe(1);
+ const textInput = pagination.find(textInputSelector);
+ expect(textInput.length).toBe(1);
+ expect(textInput.at(0).prop('value')).toBe(1);
+ const input = pagination.find('TextInput');
+ expect(input.prop('value')).toBe(1);
+ input.prop('onChange')('!invalid');
+ pagination.update();
+ const submitForm = pagination.find(submitFormSelector);
+ expect(submitForm.length).toBe(1);
+ submitForm.simulate('submit');
+ expect(pagination.find('TextInput').prop('value')).toBe(1);
+ // assert onPageChange was not called
+ expect(paginationElem.state().value).toBe(1);
+ });
test('text input page change is not displayed when only 1 page', () => {
const onSetPage = jest.fn();
@@ -269,25 +308,36 @@ describe('', () => {
expect(pageInput.length).toBe(1);
});
- // test('make sure componentDidUpdate calls onPageChange', () => {
- // const onSetPage = jest.fn();
+ 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);
- // });
+ pagination = mount(
+
+
+
+ );
+ const paginationElem = pagination.find('Pagination');
+ expect(paginationElem.state().value).toBe(1);
+ pagination.setProps({
+ children: (
+
+ )
+ });
+ paginationElem.update();
+ expect(paginationElem.state().value).toBe(2);
+ });
});