lamassu-server/test/unit/settings-loader-load-fixture.js

50 lines
1.9 KiB
JavaScript

import test from 'ava'
import settingsLoader from '../../lib/admin/settings-loader'
test('simple merge', t => {
const fieldCode = 'testCode'
const fieldLocator = {fieldScope: {crypto: 'global', machine: 'global'}, code: fieldCode}
const fieldValueA = {fieldType: 'percentage', value: 5}
const fieldValueB = {fieldType: 'percentage', value: 6}
const merged = settingsLoader.mergeValues(
[{fieldLocator, fieldValue: fieldValueA}],
[{fieldLocator, fieldValue: fieldValueB}]
)
t.deepEqual(merged, [{fieldLocator, fieldValue: fieldValueB}])
})
test('bigger merge', t => {
const fieldCode = 'testCode'
const fieldLocator1 = {fieldScope: {crypto: 'BTC', machine: 'xx'}, code: fieldCode}
const fieldLocator2 = {fieldScope: {crypto: 'global', machine: 'global'}, code: fieldCode}
const fieldLocator3 = {fieldScope: {crypto: 'BTC', machine: 'xx'}, code: 'testCode2'}
const fieldLocator4 = {fieldScope: {crypto: 'BTC', machine: 'xx'}, code: 'testCode3'}
const fieldValue1 = {fieldType: 'percentage', value: 1}
const fieldValue2 = {fieldType: 'percentage', value: 2}
const fieldValue3 = {fieldType: 'percentage', value: 3}
const fieldValue4 = {fieldType: 'percentage', value: 4}
const fieldValue5 = {fieldType: 'percentage', value: 5}
const merged = settingsLoader.mergeValues(
[
{fieldLocator: fieldLocator1, fieldValue: fieldValue1},
{fieldLocator: fieldLocator2, fieldValue: fieldValue2},
{fieldLocator: fieldLocator3, fieldValue: fieldValue3}
],
[
{fieldLocator: fieldLocator1, fieldValue: fieldValue4},
{fieldLocator: fieldLocator4, fieldValue: fieldValue5}
]
)
const expected = [
{fieldLocator: fieldLocator1, fieldValue: fieldValue4},
{fieldLocator: fieldLocator4, fieldValue: fieldValue5},
{fieldLocator: fieldLocator2, fieldValue: fieldValue2},
{fieldLocator: fieldLocator3, fieldValue: fieldValue3}
]
t.deepEqual(merged, expected)
})