Skip to content

Commit 9ee0813

Browse files
committed
test: use-request-basic
1 parent 990fe98 commit 9ee0813

File tree

2 files changed

+56
-23
lines changed

2 files changed

+56
-23
lines changed
Lines changed: 55 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,63 @@
1-
import { mount } from '@vue/test-utils'
2-
import Demo from '../docs/basic/demo/demo.vue'
1+
import renderHook from 'test-utils/renderHook'
2+
import { sleep } from 'test-utils/sleep'
3+
import useRequest from '../useRequest'
34

4-
describe('useRequest/Basic', () => {
5-
const wrapper = mount(Demo)
6-
7-
const currentName = wrapper.findAll('div').at(0)
8-
const currentName1 = wrapper.findAll('div').at(1)
5+
function getUsername(params: { desc: string }): Promise<string> {
6+
return new Promise(resolve => {
7+
setTimeout(() => {
8+
resolve(`vue-hooks-plus ${params.desc}`)
9+
}, 200)
10+
})
11+
}
912

10-
it('should init work is loading', () => {
11-
{
12-
expect(currentName?.text()).toBe('name:loading')
13-
expect(currentName1?.text()).toBe('name1:loading')
14-
}
13+
describe('useRequest/Basic', () => {
14+
it('should auto work', async () => {
15+
const [hook] = renderHook(() =>
16+
useRequest(getUsername, {
17+
defaultParams: [
18+
{
19+
desc: 'nice',
20+
},
21+
],
22+
}),
23+
)
24+
await sleep(200)
25+
expect(hook.data?.value).toBe('vue-hooks-plus nice')
1526
})
1627

17-
it('should auto run params is null', () => {
18-
{
19-
const currentAutoRunParams = wrapper.findAll('span').at(0)
20-
expect(currentAutoRunParams?.text()).toBe('[]')
21-
}
28+
it('should manual run', async () => {
29+
const [hook] = renderHook(() =>
30+
useRequest(getUsername, {
31+
manual: true,
32+
defaultParams: [
33+
{
34+
desc: 'nice',
35+
},
36+
],
37+
}),
38+
)
39+
40+
await sleep(200)
41+
expect(hook.data?.value).toBeUndefined()
42+
hook.run({ desc: 'nice1' })
43+
await sleep(200)
44+
expect(hook.data?.value).toBe('vue-hooks-plus nice1')
2245
})
2346

24-
it('should manual params work', () => {
25-
{
26-
const currentManualParams = wrapper.findAll('span').at(1)
27-
expect(currentManualParams?.text()).toBe('[{"desc":"nice"}]')
28-
}
47+
it('should params work', async () => {
48+
const [hook] = renderHook(() =>
49+
useRequest(getUsername, {
50+
defaultParams: [
51+
{
52+
desc: 'nice',
53+
},
54+
],
55+
}),
56+
)
57+
await sleep(200)
58+
expect(hook.params.value[0]?.desc).toBe('nice')
59+
hook.run({ desc: 'nice1' })
60+
await sleep(200)
61+
expect(hook.params.value[0]?.desc).toBe('nice1')
2962
})
3063
})

packages/hooks/src/useRequest/__tests__/throttle.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import renderHook from 'test-utils/renderHook'
2-
import useRequest from '..'
2+
import useRequest from '../useRequest'
33

44
function getUsername(): Promise<string> {
55
return new Promise(resolve => {

0 commit comments

Comments
 (0)