UNPKG

rtech-struct

Version:

Rtech Platform Superstruct Entity

48 lines (41 loc) 1.61 kB
const { Score } = require('../../../../structures/address-book/v3/score') const { validate } = require('superstruct') const createValidScore = () => ({ value: 5, created_at: new Date().toISOString(), updated_at: new Date().toISOString() }) describe('Score Structure', () => { test('Success: Score', () => { const validScore = createValidScore() const [error, result] = validate(validScore, Score, { coerce: true }) expect(error).toBeUndefined() expect(result).toBeDefined() expect(result.id).toBeDefined() }) test('Failure: Score - Uncoerced', () => { const validScore = createValidScore() const [error, result] = validate(validScore, Score, { coerce: false }) expect(error).toBeDefined() expect(result).toBeUndefined() }) test('Success: Score - Negative value', () => { const validScore = { ...createValidScore(), value: -1 } const [error, result] = validate(validScore, Score, { coerce: true }) expect(error).toBeUndefined() expect(result).toBeDefined() expect(result.id).toBeDefined() }) test('Failure: Score - Missing required field', () => { const invalidScore = { ...createValidScore(), value: undefined } const [error, result] = validate(invalidScore, Score, { coerce: true }) expect(error).toBeDefined() expect(result).toBeUndefined() }) test('Failure: Score - Non-integer value', () => { const invalidScore = { ...createValidScore(), value: 3.5 } const [error, result] = validate(invalidScore, Score, { coerce: true }) expect(error).toBeDefined() expect(result).toBeUndefined() }) })