Add tests for format_text.js

This commit adds tests for format_text,
with the aim to improve the code coverage of the
whole repo.

Part of https://github.com/bigchaindb/js-bigchaindb-driver/issues/220
This commit is contained in:
Arjun Nemani 2018-07-19 11:35:53 +05:30
parent aaad21895f
commit 64713d3742
1 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,48 @@
import test from 'ava'
import formatText from '../../src/format_text'
test('formatText test type 1', t => {
const expected = 'Hi there Dimi!'
const actual = formatText('Hi there ${dimi}!', { dimi: 'Dimi' }) // eslint-disable-line no-template-curly-in-string
t.is(actual, expected)
})
test('formatText test type 2', t => {
const expected = 'BigchainDB is big'
const actual = formatText('${database} is %(status)s', { // eslint-disable-line no-template-curly-in-string
database: 'BigchainDB',
status: 'big'
})
t.is(actual, expected)
})
test('formatText test type 3', t => {
const expected = 'Berlin is best known for its Currywurst'
const actual = formatText(
'Berlin is best known for its ${berlin.topKnownFor[0].name}', // eslint-disable-line no-template-curly-in-string
{
berlin: {
topKnownFor: [
{
name: 'Currywurst'
}
]
}
}
)
t.is(actual, expected)
})
test('formatText test throws', t => {
const error = t.throws(() => {
formatText(
'This will give ${error.}', // eslint-disable-line no-template-curly-in-string
{ error: [{}] }
)
}, SyntaxError)
t.is(error.message, '[formatText] failed to parse named argument key: error.')
})