mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-01 21:31:36 +02:00
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
const { Joi } = require('../../../../app/src/infrastructure/Validation')
|
|
const { ObjectId } = require('mongodb-legacy')
|
|
const { expect } = require('chai')
|
|
const { ValidationError } = require('joi')
|
|
|
|
describe('Validation', function () {
|
|
const validObjectId = '123456781234567812345678'
|
|
const invalidObjectId = '12345678-1234-1234-12345678'
|
|
|
|
it('accepts valid ObjectId strings', async function () {
|
|
const schema = Joi.object({
|
|
test: Joi.objectId(),
|
|
})
|
|
|
|
const value = await schema.validateAsync({
|
|
test: validObjectId,
|
|
})
|
|
|
|
expect(value.test).to.be.instanceof(ObjectId)
|
|
expect(value.test.toHexString()).to.equal(validObjectId)
|
|
})
|
|
|
|
it('rejects invalid ObjectId strings', async function () {
|
|
const schema = Joi.object({
|
|
test: Joi.objectId(),
|
|
})
|
|
|
|
const promise = schema.validateAsync({
|
|
test: invalidObjectId,
|
|
})
|
|
|
|
expect(promise).to.be.rejectedWith(ValidationError)
|
|
})
|
|
|
|
it('accepts valid ObjectId objects', async function () {
|
|
const schema = Joi.object({
|
|
test: Joi.objectId(),
|
|
})
|
|
|
|
const value = await schema.validateAsync({
|
|
test: new ObjectId(validObjectId),
|
|
})
|
|
|
|
expect(value.test).to.be.instanceof(ObjectId)
|
|
expect(value.test.toHexString()).to.equal(validObjectId)
|
|
})
|
|
})
|