summaryrefslogtreecommitdiffstats
path: root/frontend/__tests__/Pagination.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/__tests__/Pagination.test.js')
-rw-r--r--frontend/__tests__/Pagination.test.js94
1 files changed, 0 insertions, 94 deletions
diff --git a/frontend/__tests__/Pagination.test.js b/frontend/__tests__/Pagination.test.js
deleted file mode 100644
index 29a57f9..0000000
--- a/frontend/__tests__/Pagination.test.js
+++ /dev/null
@@ -1,94 +0,0 @@
-import React from 'react';
-import { shallow, mount } from 'enzyme';
-import toJSON from 'enzyme-to-json';
-import Pagination, { PAGINATION_QUERY } from '../components/Pagination';
-import { MockedProvider } from 'react-apollo/test-utils';
-import wait from 'waait';
-import { fakeItem } from '../lib/testUtils';
-
-import Router from 'next/router';
-
-// mock the router because there isn't really a router instance
-Router.router = { push() {}, prefetch() {} };
-
-function makeMocksFor(length) {
- return [
- {
- request: { query: PAGINATION_QUERY, variables: { skip: 0, first: 4 } },
- result: {
- data: {
- itemsConnection: {
- __typename: 'aggregate',
- aggregate: {
- count: length,
- __typename: 'count',
- },
- },
- },
- },
- },
- ];
-}
-
-describe('<Pagination/>', () => {
- it('displays loading message', async () => {
- const wrapper = mount(
- <MockedProvider mocks={makeMocksFor(1)}>
- <Pagination page={1} />
- </MockedProvider>
- );
- await wait();
- wrapper.update();
- expect(toJSON(wrapper.find('div[data-test="pagination"]'))).toMatchSnapshot();
- });
-
- 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');
- });
-
- it('disables prev button on first page', async () => {
- const wrapper = mount(
- <MockedProvider mocks={makeMocksFor(18)}>
- <Pagination page={1} />
- </MockedProvider>
- );
- await wait();
- wrapper.update();
- // first page
- 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();
- // first page
- 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={2} />
- </MockedProvider>
- );
- await wait();
- wrapper.update();
- // first page
- expect(wrapper.find('a.prev').prop('aria-disabled')).toEqual(false);
- expect(wrapper.find('a.next').prop('aria-disabled')).toEqual(false);
- });
-});