@@ -3,6 +3,7 @@ import Week from "../src/week";
33import WeekNumber from "../src/week_number" ;
44import Day from "../src/day" ;
55import { shallow } from "enzyme" ;
6+ import sinon from "sinon" ;
67import * as utils from "../src/date_utils" ;
78
89describe ( "Week" , ( ) => {
@@ -63,14 +64,58 @@ describe("Week", () => {
6364 }
6465
6566 const weekStart = utils . newDate ( "2015-12-20" ) ;
67+ const setOpenSpy = sinon . spy ( ) ;
6668 const week = shallow (
67- < Week day = { weekStart } showWeekNumber onWeekSelect = { onWeekClick } />
69+ < Week
70+ day = { weekStart }
71+ showWeekNumber
72+ onWeekSelect = { onWeekClick }
73+ setOpen = { setOpenSpy }
74+ />
6875 ) ;
6976 const weekNumberElement = week . find ( WeekNumber ) ;
7077 weekNumberElement . simulate ( "click" ) ;
7178 expect ( utils . equals ( firstDayReceived , weekStart ) ) . to . be . true ;
7279 } ) ;
7380
81+ it ( "should call the provided onWeekSelect function and call the setopen function" , ( ) => {
82+ const weekStart = utils . newDate ( "2015-12-20" ) ;
83+ const setOpenSpy = sinon . spy ( ) ;
84+
85+ const week = shallow (
86+ < Week
87+ day = { weekStart }
88+ showWeekNumber
89+ shouldCloseOnSelect
90+ onWeekSelect = { ( ) => { } }
91+ setOpen = { setOpenSpy }
92+ />
93+ ) ;
94+
95+ const weekNumberElement = week . find ( WeekNumber ) ;
96+ weekNumberElement . simulate ( "click" ) ;
97+ sinon . assert . calledOnce ( setOpenSpy ) ;
98+ } ) ;
99+
100+ it ( "should call the provided onWeekSelect function and not call the setopen function when 'shouldCloseOnSelect' is false" , ( ) => {
101+ const weekStart = utils . newDate ( "2015-12-20" ) ;
102+ const setOpenSpy = sinon . spy ( ) ;
103+
104+ const week = shallow (
105+ < Week
106+ day = { weekStart }
107+ showWeekNumber
108+ shouldCloseOnSelect = { false }
109+ onWeekSelect = { ( ) => { } }
110+ setOpen = { setOpenSpy }
111+ />
112+ ) ;
113+
114+ const weekNumberElement = week . find ( WeekNumber ) ;
115+ weekNumberElement . simulate ( "click" ) ;
116+ sinon . assert . notCalled ( setOpenSpy ) ;
117+ } ) ;
118+
74119 it ( "should call the provided onWeekSelect function and pass the week number" , ( ) => {
75120 let weekNumberReceived = null ;
76121
@@ -81,7 +126,12 @@ describe("Week", () => {
81126 const weekStart = utils . newDate ( "2015-12-20" ) ;
82127 const realWeekNumber = utils . getWeek ( weekStart ) ;
83128 const week = shallow (
84- < Week day = { weekStart } showWeekNumber onWeekSelect = { onWeekClick } />
129+ < Week
130+ day = { weekStart }
131+ showWeekNumber
132+ shouldCloseOnSelect = { false }
133+ onWeekSelect = { onWeekClick }
134+ />
85135 ) ;
86136 const weekNumberElement = week . find ( WeekNumber ) ;
87137 weekNumberElement . simulate ( "click" ) ;
0 commit comments