@@ -149,7 +149,51 @@ describe('TimeSelect', () => {
149149 wrapper . unmount ( ) ;
150150 } ) ;
151151
152- it . todo ( 'props step work well.' ) ;
152+ it ( 'time-select step work' , async ( ) => {
153+ const wrapper = mount ( {
154+ components : { DTimeSelect } ,
155+ template : `<d-time-select v-model="modelValue" step="00:10" start="01:00" end="23:00"></d-time-select>` ,
156+ setup ( ) {
157+ const modelValue = ref ( '01:00' ) ;
158+ return {
159+ modelValue,
160+ } ;
161+ } ,
162+ } ) ;
163+
164+ const container = wrapper . find ( baseClass ) ;
165+ const dropdown = wrapper . find ( dropdownCls ) ;
166+ const input = wrapper . find < HTMLInputElement > ( selectInputCls ) ;
167+
168+ expect ( container . exists ( ) ) . toBeTruthy ( ) ;
169+ expect ( dropdown . exists ( ) ) . toBeFalsy ( ) ;
170+ await input . trigger ( 'click' ) ;
171+ await nextTick ( ) ;
172+ let listItems = document . querySelectorAll ( selectItemCls ) ;
173+ expect ( listItems . length ) . toBe ( 133 ) ;
174+ expect ( listItems [ 0 ] . classList ) . toContain ( 'active' ) ;
175+ expect ( input . element . value ) . toBe ( '01:00' ) ;
176+
177+ await wrapper . setProps ( {
178+ step : '01:49' ,
179+ } ) ;
180+
181+ await input . trigger ( 'click' ) ;
182+ await nextTick ( ) ;
183+ listItems = document . querySelectorAll ( selectItemCls ) ;
184+ expect ( listItems . length ) . toBe ( 13 ) ;
185+
186+ await wrapper . setProps ( {
187+ step : '23:49' ,
188+ } ) ;
189+
190+ await input . trigger ( 'click' ) ;
191+ await nextTick ( ) ;
192+ listItems = document . querySelectorAll ( selectItemCls ) ;
193+ expect ( listItems . length ) . toBe ( 1 ) ;
194+
195+ wrapper . unmount ( ) ;
196+ } ) ;
153197
154198 it . todo ( 'props start/end work well.' ) ;
155199
0 commit comments