@@ -6,6 +6,7 @@ import { shallow } from 'enzyme';
66import DayPickerNavigation from '../../src/components/DayPickerNavigation' ;
77import RightArrow from '../../src/components/RightArrow' ;
88import LeftArrow from '../../src/components/LeftArrow' ;
9+ import { VERTICAL_ORIENTATION } from '../../src/constants' ;
910
1011describe ( 'DayPickerNavigation' , ( ) => {
1112 describe ( '#render' , ( ) => {
@@ -91,6 +92,67 @@ describe('DayPickerNavigation', () => {
9192 expect ( wrapper . childAt ( 1 ) . find ( 'div[role="button"]' ) ) . to . have . lengthOf ( 0 ) ;
9293 expect ( renderNavNextButtonStub ) . to . have . property ( 'callCount' , 1 ) ;
9394 } ) ;
95+
96+ it ( 'does not render default styles when custom navigation is used' , ( ) => {
97+ const renderNavPrevButtonStub = sinon . stub ( ) . returns ( < button type = "button" > Prev</ button > ) ;
98+ const renderNavNextButtonStub = sinon . stub ( ) . returns ( < button type = "button" > Next</ button > ) ;
99+ const wrapper = shallow (
100+ < DayPickerNavigation
101+ renderNavNextButton = { renderNavNextButtonStub }
102+ renderNavPrevButton = { renderNavPrevButtonStub }
103+ orientation = { VERTICAL_ORIENTATION }
104+ /> ,
105+ ) . dive ( ) ;
106+ const wrapperDiv = wrapper . find ( 'div' ) . filterWhere ( ( div ) => {
107+ const className = div . prop ( 'className' ) || '' ;
108+ return className . includes ( 'DayPickerNavigation__verticalDefault' ) ;
109+ } ) ;
110+ expect ( wrapperDiv ) . to . have . lengthOf ( 0 ) ;
111+ } ) ;
112+
113+ it ( 'does render default styles when custom navigation is used for only one nav button' , ( ) => {
114+ const renderNavPrevButtonStub = sinon . stub ( ) . returns ( < button type = "button" > Prev</ button > ) ;
115+ const wrapper = shallow (
116+ < DayPickerNavigation
117+ renderNavPrevButton = { renderNavPrevButtonStub }
118+ orientation = { VERTICAL_ORIENTATION }
119+ /> ,
120+ ) . dive ( ) ;
121+ const wrapperDiv = wrapper . find ( 'div' ) . filterWhere ( ( div ) => {
122+ const className = div . prop ( 'className' ) || '' ;
123+ return className . includes ( 'DayPickerNavigation__verticalDefault' ) ;
124+ } ) ;
125+ expect ( wrapperDiv ) . to . have . lengthOf ( 1 ) ;
126+ } ) ;
127+
128+ it ( 'does not render default styles when custom navigation is used for only button but the other nav button is not shown' , ( ) => {
129+ const renderNavPrevButtonStub = sinon . stub ( ) . returns ( < button type = "button" > Prev</ button > ) ;
130+ const wrapper = shallow (
131+ < DayPickerNavigation
132+ showNavNextButton = { false }
133+ renderNavPrevButton = { renderNavPrevButtonStub }
134+ orientation = { VERTICAL_ORIENTATION }
135+ /> ,
136+ ) . dive ( ) ;
137+ const wrapperDiv = wrapper . find ( 'div' ) . filterWhere ( ( div ) => {
138+ const className = div . prop ( 'className' ) || '' ;
139+ return className . includes ( 'DayPickerNavigation__verticalDefault' ) ;
140+ } ) ;
141+ expect ( wrapperDiv ) . to . have . lengthOf ( 0 ) ;
142+ } ) ;
143+
144+ it ( 'renders default styles when default navigation is used' , ( ) => {
145+ const wrapper = shallow (
146+ < DayPickerNavigation
147+ orientation = { VERTICAL_ORIENTATION }
148+ /> ,
149+ ) . dive ( ) ;
150+ const wrapperDiv = wrapper . find ( 'div' ) . filterWhere ( ( div ) => {
151+ const className = div . prop ( 'className' ) || '' ;
152+ return className . includes ( 'DayPickerNavigation__verticalDefault' ) ;
153+ } ) ;
154+ expect ( wrapperDiv ) . to . have . lengthOf ( 1 ) ;
155+ } ) ;
94156 } ) ;
95157
96158 describe ( 'interactions' , ( ) => {
0 commit comments