From c0367c1577e2e85b30dc5ffc740cbd9ec6aa2c46 Mon Sep 17 00:00:00 2001 From: sevkioruc Date: 2021年6月22日 09:34:59 +0300 Subject: [PATCH 1/2] Single date picker tests added --- tests/unit/calendar.spec.js | 63 +++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 16 deletions(-) diff --git a/tests/unit/calendar.spec.js b/tests/unit/calendar.spec.js index 04cfe19..21e065a 100644 --- a/tests/unit/calendar.spec.js +++ b/tests/unit/calendar.spec.js @@ -3,23 +3,54 @@ import { mount } from '@vue/test-utils' import { BasicData } from './mockData' import Calendar from '@/components/calendar.vue' -let wrapper - describe('Calender View', () => { - wrapper = mount(Calendar, { - propsData: { - calendar: BasicData.calendar, - currentDate: BasicData.currentDate, - selectedDate: BasicData.currentDate, - range: BasicData.range, - textFormat: BasicData.textFormat, - disableDate: BasicData.disableDate, - formatDate: BasicData.formatDate, - viewMode: BasicData.viewMode - } - }) + describe('Single datepicker', () => { + let wrapper + + beforeEach(() => { + wrapper = mount(Calendar, { + propsData: { + calendar: BasicData.calendar, + currentDate: BasicData.currentDate, + selectedDate: BasicData.currentDate, + range: BasicData.range, + textFormat: BasicData.textFormat, + disableDate: BasicData.disableDate, + formatDate: BasicData.formatDate, + viewMode: BasicData.viewMode + } + }) + }) + + afterEach(() => { + wrapper.destroy() + }) + + test('is correct render', () => { + expect(wrapper.html()).toMatchSnapshot() + }) + + test('should be day count equal to 7', () => { + const days = wrapper.findAll('.days> .name') + expect(days.length).toBe(7) + }) + + test('should be day count of a month is between 28-31 ', () => { + const allDaysInSelection = wrapper.findAll('.days-selection> .days> .day') + const disabledDate = wrapper.findAll('.days-selection> .days> .disabledDate') + + const dayCountOfThisMonth = allDaysInSelection.length - disabledDate.length + + expect(dayCountOfThisMonth).toBeGreaterThanOrEqual(28) + expect(dayCountOfThisMonth).toBeLessThanOrEqual(31) + }) + + test('should be able change view mode as years', async () => { + const viewButton = wrapper.find('.viewButton') + await viewButton.trigger('click') - test('is correct render', () => { - expect(wrapper.html()).toMatchSnapshot() + const years = wrapper.findAll('.year') + expect(years.length).toBe(11) + }) }) }) From 42d44e6e4912a990ed61d79500c0857b9c3fcbb5 Mon Sep 17 00:00:00 2001 From: sevkioruc Date: 2021年6月22日 22:42:12 +0300 Subject: [PATCH 2/2] Tests were added for single datepicker --- .../unit/__snapshots__/calendar.spec.js.snap | 86 +++++++++++++++++++ tests/unit/calendar.spec.js | 14 +++ 2 files changed, 100 insertions(+) diff --git a/tests/unit/__snapshots__/calendar.spec.js.snap b/tests/unit/__snapshots__/calendar.spec.js.snap index fa5953a..b53977a 100644 --- a/tests/unit/__snapshots__/calendar.spec.js.snap +++ b/tests/unit/__snapshots__/calendar.spec.js.snap @@ -1,5 +1,91 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`Calender View Single datepicker is correct render 1`] = ` +
+
+
+
+
+ Pzt +
+
+ Sal +
+
+ Çar +
+
+ Per +
+
+ Cum +
+
+ Cmt +
+
+ Paz +
+
+
+
+
+
+
+
+
+
+
+`; + exports[`Calender View is correct render 1`] = `
diff --git a/tests/unit/calendar.spec.js b/tests/unit/calendar.spec.js index 21e065a..163ee6f 100644 --- a/tests/unit/calendar.spec.js +++ b/tests/unit/calendar.spec.js @@ -52,5 +52,19 @@ describe('Calender View', () => { const years = wrapper.findAll('.year') expect(years.length).toBe(11) }) + + test('there should be a calendar', () => { + const calendar = wrapper.findAll('.calendar') + expect(calendar.length).toBe(1) + }) + + test('should be called handlerDate when selected a date', async () => { + const mockHandlerDate = jest.spyOn(wrapper.vm, 'handlerDate') + + const fifthDay = wrapper.findAll('.days-selection> .days> .day').at(6) + await fifthDay.trigger('click') + + expect(mockHandlerDate).toHaveBeenCalled() + }) }) })

AltStyle によって変換されたページ (->オリジナル) /