summaryrefslogtreecommitdiffstats
path: root/stepped-solutions/FINISHED/frontend/__tests__/Pagination.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'stepped-solutions/FINISHED/frontend/__tests__/Pagination.test.js')
-rw-r--r--stepped-solutions/FINISHED/frontend/__tests__/Pagination.test.js89
1 files changed, 0 insertions, 89 deletions
diff --git a/stepped-solutions/FINISHED/frontend/__tests__/Pagination.test.js b/stepped-solutions/FINISHED/frontend/__tests__/Pagination.test.js
deleted file mode 100644
index 7117db8..0000000
--- a/stepped-solutions/FINISHED/frontend/__tests__/Pagination.test.js
+++ /dev/null
@@ -1,89 +0,0 @@
-import { mount } from 'enzyme';
-import wait from 'waait';
-import toJSON from 'enzyme-to-json';
-import Router from 'next/router';
-import Pagination, { PAGINATION_QUERY } from '../components/Pagination';
-import { MockedProvider } from 'react-apollo/test-utils';
-
-Router.router = {
- push() {},
- prefetch() {},
-};
-
-function makeMocksFor(length) {
- return [
- {
- request: { query: PAGINATION_QUERY },
- result: {
- data: {
- itemsConnection: {
- __typename: 'aggregate',
- aggregate: {
- count: length,
- __typename: 'count',
- },
- },
- },
- },
- },
- ];
-}
-
-describe('<Pagination/>', () => {
- it('displays a loading message', () => {
- const wrapper = mount(
- <MockedProvider mocks={makeMocksFor(1)}>
- <Pagination page={1} />
- </MockedProvider>
- );
- const pagination = wrapper.find('[data-test="pagination"]');
- expect(wrapper.text()).toContain('Loading...');
- });
-
- it('renders pagination for 18 items', async () => {
- const wrapper = mount(
- <MockedProvider mocks={makeMocksFor(18)}>
- <Pagination page={1} />
- </MockedProvider>
- );
- await wait();
- wrapper.update();
- expect(wrapper.find('.totalPages').text()).toEqual('5');
- const pagination = wrapper.find('div[data-test="pagination"]');
- expect(toJSON(pagination)).toMatchSnapshot();
- });
-
- it('disables prev button on first page', async () => {
- const wrapper = mount(
- <MockedProvider mocks={makeMocksFor(18)}>
- <Pagination page={1} />
- </MockedProvider>
- );
- await wait();
- wrapper.update();
- expect(wrapper.find('a.prev').prop('aria-disabled')).toEqual(true);
- expect(wrapper.find('a.next').prop('aria-disabled')).toEqual(false);
- });
- it('disables next button on last page', async () => {
- const wrapper = mount(
- <MockedProvider mocks={makeMocksFor(18)}>
- <Pagination page={5} />
- </MockedProvider>
- );
- await wait();
- wrapper.update();
- expect(wrapper.find('a.prev').prop('aria-disabled')).toEqual(false);
- expect(wrapper.find('a.next').prop('aria-disabled')).toEqual(true);
- });
- it('enables all buttons on a middle page', async () => {
- const wrapper = mount(
- <MockedProvider mocks={makeMocksFor(18)}>
- <Pagination page={3} />
- </MockedProvider>
- );
- await wait();
- wrapper.update();
- expect(wrapper.find('a.prev').prop('aria-disabled')).toEqual(false);
- expect(wrapper.find('a.next').prop('aria-disabled')).toEqual(false);
- });
-});