From 6cb0d2d95d75509e39b1cccf44318e91462fe555 Mon Sep 17 00:00:00 2001 From: lana-k Date: Fri, 26 Feb 2021 21:19:13 +0100 Subject: [PATCH] add tests for Pager --- tests/unit/components/Pager.spec.js | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 tests/unit/components/Pager.spec.js diff --git a/tests/unit/components/Pager.spec.js b/tests/unit/components/Pager.spec.js new file mode 100644 index 0000000..d84f242 --- /dev/null +++ b/tests/unit/components/Pager.spec.js @@ -0,0 +1,33 @@ +import { expect } from 'chai' +import sinon from 'sinon' +import { mount, shallowMount } from '@vue/test-utils' +import Pager from '@/components/Pager.vue' + +describe('Pager.vue', () => { + afterEach(() => { + sinon.restore() + }) + + it('emits input event with a page', async () => { + const wrapper = mount(Pager, { propsData: { + pageCount: 5 + }}) + + // click on 'next page' link + await wrapper.find('.paginator-next').trigger('click') + expect(wrapper.emitted('input')[0]).to.eql([2]) + + // click on the link to page 3 (it has index 2) + await wrapper.findAll('.paginator-page-link').at(2).trigger('click') + expect(wrapper.emitted('input')[1]).to.eql([3]) + }) + + it('changes the page when value is changed', async () => { + const wrapper = mount(Pager, { propsData: { + pageCount: 5 + }}) + + await wrapper.setProps({ value: 5 }) + expect(wrapper.emitted('input')[0]).to.eql([5]) + }) +})