Skip to content

Commit 3e16928

Browse files
qinwenchengkagol
authored andcommitted
test(time-select): 增加一些step的边界值测试
1 parent f242612 commit 3e16928

File tree

1 file changed

+53
-6
lines changed

1 file changed

+53
-6
lines changed

packages/devui-vue/devui/time-select/__tests__/time-select.spec.ts

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -175,13 +175,13 @@ describe('TimeSelect', () => {
175175
expect(listItems.length).toBe((23 - 1) * 2 + 1);
176176

177177
await wrapper.setProps({
178-
step: '00:01',
178+
step: '0:1',
179179
});
180180

181181
await input.trigger('click');
182182
await nextTick();
183183
listItems = document.querySelectorAll(selectItemCls);
184-
// 传入最小单位
184+
// 测试只传一位数字的情况
185185
expect(listItems.length).toBe((23 - 1) * 60 + 1);
186186

187187
await wrapper.setProps({
@@ -201,9 +201,59 @@ describe('TimeSelect', () => {
201201
await input.trigger('click');
202202
await nextTick();
203203
listItems = document.querySelectorAll(selectItemCls);
204-
// 传入一个超大 step
204+
// 传入一个超大 step
205205
expect(listItems.length).toBe(1);
206206

207+
await wrapper.setProps({
208+
step: '00:00',
209+
});
210+
211+
await input.trigger('click');
212+
await nextTick();
213+
listItems = document.querySelectorAll(selectItemCls);
214+
// 传入不合法的 step (00:00) 将变为默认的 00:30
215+
expect(listItems.length).toBe((23 - 1) * 2 + 1);
216+
217+
await wrapper.setProps({
218+
step: '-1:0',
219+
});
220+
221+
await input.trigger('click');
222+
await nextTick();
223+
listItems = document.querySelectorAll(selectItemCls);
224+
// 传入不合法的 step (-1:0) 将变为默认的 00:30
225+
expect(listItems.length).toBe((23 - 1) * 2 + 1);
226+
227+
await wrapper.setProps({
228+
step: '-2:20',
229+
});
230+
231+
await input.trigger('click');
232+
await nextTick();
233+
listItems = document.querySelectorAll(selectItemCls);
234+
// 传入不合法的 step (-2:20) 将变为默认的 00:30
235+
expect(listItems.length).toBe((23 - 1) * 2 + 1);
236+
237+
await wrapper.setProps({
238+
step: '02:-1',
239+
});
240+
241+
await input.trigger('click');
242+
await nextTick();
243+
listItems = document.querySelectorAll(selectItemCls);
244+
// 虽然换算成分钟是正的,但依然不合法的值 step (2:-1) 将变为默认的 00:30
245+
expect(listItems.length).toBe((23 - 1) * 2 + 1);
246+
247+
await wrapper.setProps({
248+
step: '1:0',
249+
});
250+
251+
await input.trigger('click');
252+
await nextTick();
253+
listItems = document.querySelectorAll(selectItemCls);
254+
// 传入带 0 但合法的 step (1:0)
255+
expect(listItems.length).toBe(23);
256+
207257
wrapper.unmount();
208258
});
209259

@@ -387,8 +437,6 @@ describe('TimeSelect', () => {
387437
},
388438
});
389439

390-
const container = wrapper.find(baseClass);
391-
const dropdown = wrapper.find(dropdownCls);
392440
const input = wrapper.find<HTMLInputElement>(selectInputCls);
393441
expect(input.attributes().placeholder).toBe('测试placeholder是否正常渲染');
394442

@@ -398,6 +446,5 @@ describe('TimeSelect', () => {
398446
await nextTick();
399447

400448
expect(input.attributes().placeholder).toBe('placeholder');
401-
402449
});
403450
});

0 commit comments

Comments
 (0)