Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 19 additions & 27 deletions src/query.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { TTL } from '@rocicorp/zero'
import { createBuilder, createSchema, number, string, syncedQuery, table, Zero } from '@rocicorp/zero'
import { describe, expect, it, vi } from 'vitest'
import { describe, expect, it, onTestFinished, vi } from 'vitest'
import { nextTick, ref, watchEffect } from 'vue'
import { createZeroComposables } from './create-zero-composables'
import { useQuery } from './query'
Expand Down Expand Up @@ -32,23 +32,25 @@ async function setupTestEnvironment() {
await z.value.mutate.table.insert({ a: 2, b: 'b' })

const builder = createBuilder(schema)
const byIdQuery = syncedQuery
? syncedQuery(
'byId',
([id]) => {
if (typeof id !== 'number') {
throw new TypeError('id must be a number')
}
return [id] as const
},
(id: number) => {
return builder.table.where('a', id)
},
)
: undefined
const byIdQuery = syncedQuery(
'byId',
([id]) => {
if (typeof id !== 'number') {
throw new TypeError('id must be a number')
}
return [id] as const
},
(id: number) => {
return builder.table.where('a', id)
},
)

const tableQuery = z!.value.query.table

onTestFinished(() => {
z.value.close()
})

return { z, tableQuery, useQuery, byIdQuery, userID }
}

Expand Down Expand Up @@ -93,8 +95,6 @@ describe('useQuery', () => {

// TODO: this is not working at the moment, possibly because we don't have a server connection in test
// expect(resultType.value).toEqual("complete");

z.value.close()
})

it('useQuery with ttl', async () => {
Expand Down Expand Up @@ -125,12 +125,10 @@ describe('useQuery', () => {

expect(materializeSpy).toHaveBeenCalledTimes(0)
expect(updateTTLSpy).toHaveBeenCalledExactlyOnceWith('10m')

z.value.close()
})

it('useQuery deps change', async () => {
const { z, tableQuery, useQuery } = await setupTestEnvironment()
const { tableQuery, useQuery } = await setupTestEnvironment()

const a = ref(1)

Expand Down Expand Up @@ -186,8 +184,6 @@ describe('useQuery', () => {

expect(rowLog).toEqual([])
// expect(resultDetailsLog).toEqual(["complete"]);

z.value.close()
})

it('useQuery deps change watchEffect', async () => {
Expand Down Expand Up @@ -238,12 +234,10 @@ describe('useQuery', () => {
run++
})
})

z.value.close()
})

it('useQuery with syncedQuery', async () => {
const { z, byIdQuery, useQuery } = await setupTestEnvironment()
const { byIdQuery, useQuery } = await setupTestEnvironment()
if (!byIdQuery) {
return
}
Expand All @@ -260,8 +254,6 @@ describe('useQuery', () => {
},
]`)
expect(status.value).toEqual('unknown')

z.value.close()
})

it('can still be used without createZero', async () => {
Expand Down