sharec-schema
Version:
Utilities for configuration files merge
49 lines (39 loc) • 1.35 kB
JavaScript
const { fixtures } = require('testUtils')
const pairAtom = require('../pair')
describe('atoms > pair', () => {
const basePairFxt = fixtures('pair/json/00-base', 'map')
const differentKeysPairFxt = fixtures('pair/json/01-different-keys', 'map')
it('should return current if upcoming is not passed', () => {
const result = pairAtom({ current: basePairFxt.current })
expect(result).toEqual(basePairFxt.current)
})
it('should return upcoming if current is not passed', () => {
const result = pairAtom({ upcoming: basePairFxt.upcoming })
expect(result).toEqual(basePairFxt.upcoming)
})
it('should merge pair with cache', () => {
const result = pairAtom({
current: basePairFxt.current,
upcoming: basePairFxt.upcoming,
cached: basePairFxt.cached,
})
expect(result).toEqual(basePairFxt.result)
})
it('should return upcoming if types of data are not equal', () => {
expect(
pairAtom({
current: basePairFxt.current,
upcoming: 'foo',
}),
).toEqual('foo')
expect(
pairAtom({
current: 'foo',
upcoming: basePairFxt.upcoming,
}),
).toEqual(basePairFxt.upcoming)
})
it('should return upcoming if keys is not matched', () => {
expect(pairAtom(differentKeysPairFxt)).toEqual(differentKeysPairFxt.result)
})
})