Skip to content

Commit 81a7347

Browse files
committed
test: more onServerPrefetch testing
1 parent 7b31da9 commit 81a7347

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
@@ -740,27 +740,62 @@ function testRender(type: string, render: typeof renderToString) {
740740
test('multiple onServerPrefetch', async () => {
741741
const msg = Promise.resolve('hello')
742742
const msg2 = Promise.resolve('hi')
743+
const msg3 = Promise.resolve('bonjour')
743744
const app = createApp({
744745
setup() {
745746
const message = ref('')
746747
const message2 = ref('')
748+
const message3 = ref('')
747749
onServerPrefetch(async () => {
748750
message.value = await msg
749751
})
750752
onServerPrefetch(async () => {
751753
message2.value = await msg2
752754
})
755+
onServerPrefetch(async () => {
756+
message3.value = await msg3
757+
})
753758
return {
754759
message,
755-
message2
760+
message2,
761+
message3
756762
}
757763
},
758764
render() {
759-
return h('div', `${this.message} ${this.message2}`)
765+
return h('div', `${this.message} ${this.message2} ${this.message3}`)
760766
}
761767
})
762768
const html = await render(app)
763-
expect(html).toBe(`<div>hello hi</div>`)
769+
expect(html).toBe(`<div>hello hi bonjour</div>`)
770+
})
771+
772+
test('onServerPrefetch are run in parallel', async () => {
773+
const first = jest.fn(() => Promise.resolve())
774+
const second = jest.fn(() => Promise.resolve())
775+
let checkOther = [false, false]
776+
let done = [false, false]
777+
const app = createApp({
778+
setup() {
779+
onServerPrefetch(async () => {
780+
checkOther[0] = done[1]
781+
await first()
782+
done[0] = true
783+
})
784+
onServerPrefetch(async () => {
785+
checkOther[1] = done[0]
786+
await second()
787+
done[1] = true
788+
})
789+
},
790+
render() {
791+
return h('div', '')
792+
}
793+
})
794+
await render(app)
795+
expect(first).toHaveBeenCalled()
796+
expect(second).toHaveBeenCalled()
797+
expect(checkOther).toEqual([false, false])
798+
expect(done).toEqual([true, true])
764799
})
765800
})
766801
}

0 commit comments

Comments
 (0)