All files / src/lib/services context-schema.ts

100% Statements 6/6
100% Branches 0/0
100% Functions 1/1
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2560x 60x   60x   60x         60x               7x            
import joi from 'joi';
import { nameType } from '../routes/util';
 
export const nameSchema = joi.object().keys({ name: nameType });
 
const legalValueSchema = joi.object().keys({
    value: joi.string().min(1).max(100).required(),
    description: joi.string().allow('').allow(null).optional(),
});
 
export const contextSchema = joi
    .object()
    .keys({
        name: nameType,
        description: joi.string().max(250).allow('').allow(null).optional(),
        legalValues: joi
            .array()
            .allow(null)
            .unique((a, b) => a.value === b.value)
            .optional()
            .items(legalValueSchema),
        stickiness: joi.boolean().optional().default(false),
    })
    .options({ allowUnknown: false, stripUnknown: true });