Files
datasheet-server/test/internals.js
Lachlan Kermode 56622a096b update tests
2018-12-06 16:48:56 +00:00

64 lines
1.5 KiB
JavaScript

import test from 'ava'
import R from 'ramda'
import {
defaultBlueprint,
defaultRoute,
byColumn,
byRow
} from '../src/lib/blueprinters'
const egInput1 = [
['h1', 'h2', 'h3'],
[1, 2, 3],
[4, 5, 6]
]
test('defaultBlueprint exports', t => {
const expected = {
name: null,
id: null,
dialects: ['rest'],
routes: {}
}
t.deepEqual(expected, defaultBlueprint)
})
test('byColumn blueprinter generates expected output', t => {
const actual = byColumn('eg ColumnBlueprint', 'egSheetName', 'egSheetId', egInput1)
const expected = R.clone(defaultBlueprint)
expected.name = 'eg ColumnBlueprint'
expected.sheet = {
id: 'egSheetId',
name: 'egSheetName'
}
expected.routes['h1'] = R.clone(defaultRoute)
expected.routes['h1'].data = [1, 4]
expected.routes['h2'] = R.clone(defaultRoute)
expected.routes['h2'].data = [2, 5]
expected.routes['h3'] = R.clone(defaultRoute)
expected.routes['h3'].data = [3, 6]
t.deepEqual(expected, actual)
})
test('byRow blueprinter generates expected output', t => {
const actual = byRow('egRowBlueprint', 'egSheetName', 'egSheetId', egInput1, 'items')
const expected = R.clone(defaultBlueprint)
expected.name = 'egRowBlueprint'
expected.sheet = {
id: 'egSheetId',
name: 'egSheetName'
}
expected.routes['items'] = R.clone(defaultRoute)
expected.routes['items'].data = [{
h1: 1,
h2: 2,
h3: 3
},
{
h1: 4,
h2: 5,
h3: 6
}]
t.deepEqual(expected, actual)
})