Some checks failed
build / lint (22) (push) Failing after 17s
build / test (22) (push) Failing after 8s
build / lint (23) (push) Failing after 2s
build / build (22) (push) Has been skipped
build / build (23) (push) Has been skipped
build / test (23) (push) Failing after 4s
docsearch / docsearch (push) Failing after 1s
57 lines
1.3 KiB
TypeScript
57 lines
1.3 KiB
TypeScript
import test from 'ava'
|
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
import { Database } from '@hocuspocus/extension-database'
|
|
import { newHocuspocus, newHocuspocusProvider } from '../utils/index.ts'
|
|
|
|
test('fetch has the document name', async t => {
|
|
await new Promise(async resolve => {
|
|
const server = await newHocuspocus(t, {
|
|
extensions: [
|
|
new Database({
|
|
async fetch({ documentName }) {
|
|
t.is(documentName, 'my-unique-document-name')
|
|
|
|
resolve('done')
|
|
|
|
return null
|
|
},
|
|
}),
|
|
],
|
|
})
|
|
|
|
newHocuspocusProvider(t, server, {
|
|
name: 'my-unique-document-name',
|
|
})
|
|
})
|
|
})
|
|
|
|
test('passes context from onAuthenticate to fetch', async t => {
|
|
await new Promise(async resolve => {
|
|
const server = await newHocuspocus(t, {
|
|
extensions: [
|
|
new Database({
|
|
async fetch({ context }) {
|
|
t.deepEqual(context, {
|
|
user: 123,
|
|
})
|
|
|
|
resolve('done')
|
|
|
|
return null
|
|
},
|
|
}),
|
|
],
|
|
async onAuthenticate() {
|
|
return {
|
|
user: 123,
|
|
}
|
|
},
|
|
})
|
|
|
|
newHocuspocusProvider(t, server, {
|
|
token: 'SUPER-SECRET-TOKEN',
|
|
name: 'my-unique-document-name',
|
|
})
|
|
})
|
|
})
|