Skip to content

Commit 977ffd0

Browse files
Akryumyyx990803
authored andcommitted
test: more onServerPrefetch testing
1 parent 9b3c389 commit 977ffd0

File tree

1 file changed

+38
-3
lines changed

1 file changed

+38
-3
lines changed

packages/server-renderer/__tests__/render.spec.ts

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -884,27 +884,62 @@ function testRender(type: string, render: typeof renderToString) {
884884
test('multiple onServerPrefetch', async () => {
885885
const msg = Promise.resolve('hello')
886886
const msg2 = Promise.resolve('hi')
887+
const msg3 = Promise.resolve('bonjour')
887888
const app = createApp({
888889
setup() {
889890
const message = ref('')
890891
const message2 = ref('')
892+
const message3 = ref('')
891893
onServerPrefetch(async () => {
892894
message.value = await msg
893895
})
894896
onServerPrefetch(async () => {
895897
message2.value = await msg2
896898
})
899+
onServerPrefetch(async () => {
900+
message3.value = await msg3
901+
})
897902
return {
898903
message,
899-
message2
904+
message2,
905+
message3
900906
}
901907
},
902908
render() {
903-
return h('div', `${this.message} ${this.message2}`)
909+
return h('div', `${this.message} ${this.message2} ${this.message3}`)
904910
}
905911
})
906912
const html = await render(app)
907-
expect(html).toBe(`<div>hello hi</div>`)
913+
expect(html).toBe(`<div>hello hi bonjour</div>`)
914+
})
915+
916+
test('onServerPrefetch are run in parallel', async () => {
917+
const first = jest.fn(() => Promise.resolve())
918+
const second = jest.fn(() => Promise.resolve())
919+
let checkOther = [false, false]
920+
let done = [false, false]
921+
const app = createApp({
922+
setup() {
923+
onServerPrefetch(async () => {
924+
checkOther[0] = done[1]
925+
await first()
926+
done[0] = true
927+
})
928+
onServerPrefetch(async () => {
929+
checkOther[1] = done[0]
930+
await second()
931+
done[1] = true
932+
})
933+
},
934+
render() {
935+
return h('div', '')
936+
}
937+
})
938+
await render(app)
939+
expect(first).toHaveBeenCalled()
940+
expect(second).toHaveBeenCalled()
941+
expect(checkOther).toEqual([false, false])
942+
expect(done).toEqual([true, true])
908943
})
909944
})
910945
}

0 commit comments

Comments
 (0)