b5-result-text
Version:
Text for big five results score
40 lines (30 loc) • 1.07 kB
JavaScript
const test = require('ava')
const generateResult = require('../../index')
test('throws if missing input', t => {
const expectedErrorMessage = 'Missing required input'
const error = t.throws(() => {
generateResult()
}, Error)
t.is(error.message, expectedErrorMessage)
})
test('throws if not input.scores', t => {
const expectedErrorMessage = 'Missing required input data.scores'
const error = t.throws(() => {
generateResult({ scores: false })
}, Error)
t.is(error.message, expectedErrorMessage)
})
test('throws if non existent lang', t => {
const expectedErrorMessage = 'Template not found. Try another data.lang input.'
const error = t.throws(() => {
generateResult({ scores: 'wrong', lang: 'xx' })
}, Error)
t.is(error.message, expectedErrorMessage)
})
test('returns expected result', t => {
const scores = require('../data/scores.json')
const expectedResult = require('../data/result-text-en.json')
const result = generateResult({ scores: scores })
t.deepEqual(expectedResult, result, 'result ok')
})