Skip to content

Commit 10ab589

Browse files
committed
test updates
1 parent 6322b22 commit 10ab589

File tree

3 files changed

+57
-0
lines changed

3 files changed

+57
-0
lines changed

tests/unit/composables/useKeyboard.spec.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { createSelect, getValue, keydown, destroy } from 'unit-test-helpers'
22
import { nextTick } from 'composition-api'
33

4+
jest.useFakeTimers()
5+
46
describe('useKeyboard', () => {
57

68
describe('handleAddTag', () => {
@@ -171,6 +173,7 @@ describe('useKeyboard', () => {
171173
await nextTick()
172174

173175
keydown(select, 'esc')
176+
jest.advanceTimersByTime(1)
174177
expect(select.vm.isOpen).toBe(false)
175178

176179
destroy(select)

tests/unit/composables/useMultiselect.spec.js

+22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import { createSelect, destroy } from 'unit-test-helpers'
22

3+
jest.useFakeTimers()
4+
35
describe('useMultiselect', () => {
46
describe('multiselect', () => {
57
it('should be the ref of container DOM', () => {
@@ -41,6 +43,7 @@ describe('useMultiselect', () => {
4143
expect(select.vm.isOpen).toBe(true)
4244

4345
select.vm.blur()
46+
jest.advanceTimersByTime(1)
4447
expect(select.vm.isOpen).toBe(false)
4548

4649
destroy(select)
@@ -58,6 +61,7 @@ describe('useMultiselect', () => {
5861
expect(select.vm.isOpen).toBe(true)
5962

6063
select.vm.blur()
64+
jest.advanceTimersByTime(1)
6165
expect(select.vm.isOpen).toBe(false)
6266

6367
destroy(select)
@@ -137,9 +141,26 @@ describe('useMultiselect', () => {
137141
select.vm.activate()
138142
select.vm.deactivate()
139143

144+
jest.advanceTimersByTime(1)
140145
expect(select.vm.isOpen).toBe(false)
141146
expect(select.vm.isActive).toBe(false)
142147
})
148+
149+
it('should not close and clearSearch if isActivate is true in 1 tick', () => {
150+
let select = createSelect({
151+
value: null,
152+
options: [1,2,3],
153+
})
154+
155+
select.vm.activate()
156+
select.vm.deactivate()
157+
158+
select.vm.activate()
159+
160+
jest.advanceTimersByTime(1)
161+
expect(select.vm.isOpen).toBe(true)
162+
expect(select.vm.isActive).toBe(true)
163+
})
143164
})
144165

145166
describe('handleCaretClick', () => {
@@ -153,6 +174,7 @@ describe('useMultiselect', () => {
153174

154175
select.vm.handleCaretClick()
155176

177+
jest.advanceTimersByTime(1)
156178
expect(select.vm.isOpen).toBe(false)
157179
expect(select.vm.isActive).toBe(false)
158180
})

tests/unit/composables/useOptions.spec.js

+32
Original file line numberDiff line numberDiff line change
@@ -1279,6 +1279,38 @@ describe('useOptions', () => {
12791279
{ v: 3, label: 3 },
12801280
])
12811281
})
1282+
1283+
it('should deactivate on select when closeOnSelect=true', async () => {
1284+
let select = createSelect({
1285+
value: null,
1286+
options: [1,2,3],
1287+
closeOnSelect: true,
1288+
})
1289+
1290+
select.vm.open()
1291+
expect(select.vm.isOpen).toBe(true)
1292+
1293+
select.vm.handleOptionClick(select.vm.getOption(2))
1294+
1295+
jest.advanceTimersByTime(1)
1296+
expect(select.vm.isOpen).toBe(false)
1297+
})
1298+
1299+
it('should not deactivate on select when closeOnSelect=false', async () => {
1300+
let select = createSelect({
1301+
value: null,
1302+
options: [1,2,3],
1303+
closeOnSelect: false,
1304+
})
1305+
1306+
select.vm.open()
1307+
expect(select.vm.isOpen).toBe(true)
1308+
1309+
select.vm.handleOptionClick(select.vm.getOption(2))
1310+
1311+
jest.advanceTimersByTime(1)
1312+
expect(select.vm.isOpen).toBe(true)
1313+
})
12821314
})
12831315

12841316
describe('getOption', () => {

0 commit comments

Comments
 (0)