78 lines
1.8 KiB
JavaScript
78 lines
1.8 KiB
JavaScript
import parseShowFieldKeys from 'shared/parsing/showFieldKeys'
|
|
|
|
describe('parseShowFieldKeys', () => {
|
|
it('parses a single result', () => {
|
|
const response = {
|
|
results: [
|
|
{
|
|
series: [
|
|
{name: 'm1', columns: ['fieldKey'], values: [['f1'], ['f2']]},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
|
|
const result = parseShowFieldKeys(response)
|
|
expect(result.errors).to.eql([])
|
|
expect(result.fieldSets).to.eql({
|
|
m1: ['f1', 'f2'],
|
|
})
|
|
})
|
|
|
|
it('parses multiple results', () => {
|
|
const response = {
|
|
results: [
|
|
{
|
|
series: [
|
|
{name: 'm1', columns: ['fieldKey'], values: [['f1'], ['f2']]},
|
|
],
|
|
},
|
|
{
|
|
series: [
|
|
{name: 'm2', columns: ['fieldKey'], values: [['f3'], ['f4']]},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
const result = parseShowFieldKeys(response)
|
|
expect(result.errors).to.eql([])
|
|
expect(result.fieldSets).to.eql({
|
|
m1: ['f1', 'f2'],
|
|
m2: ['f3', 'f4'],
|
|
})
|
|
})
|
|
|
|
it('parses multiple errors', () => {
|
|
const response = {
|
|
results: [
|
|
{error: 'measurement not found: m1'},
|
|
{error: 'measurement not found: m2'},
|
|
],
|
|
}
|
|
const result = parseShowFieldKeys(response)
|
|
expect(result.errors).to.eql([
|
|
'measurement not found: m1',
|
|
'measurement not found: m2',
|
|
])
|
|
expect(result.fieldSets).to.eql({})
|
|
})
|
|
|
|
it('parses a mix of results and errors', () => {
|
|
const response = {
|
|
results: [
|
|
{
|
|
series: [
|
|
{name: 'm1', columns: ['fieldKey'], values: [['f1'], ['f2']]},
|
|
],
|
|
},
|
|
{error: 'measurement not found: m2'},
|
|
],
|
|
}
|
|
const result = parseShowFieldKeys(response)
|
|
expect(result.errors).to.eql(['measurement not found: m2'])
|
|
expect(result.fieldSets).to.eql({
|
|
m1: ['f1', 'f2'],
|
|
})
|
|
})
|
|
})
|