balena-cli/lib/data/data-prefix.spec.coffee

57 lines
1.4 KiB
CoffeeScript
Raw Normal View History

2014-11-07 16:42:02 +00:00
expect = require('chai').expect
_ = require('lodash')
dataPrefix = require('./data-prefix')
2014-11-14 19:48:37 +00:00
config = require('../config')
2014-11-07 16:42:02 +00:00
PREFIXES =
2014-11-14 19:48:37 +00:00
main: config.dataPrefix
new: "#{config.dataPrefix}-new"
invalid: { path: '/abc' }
2014-11-07 16:42:02 +00:00
2014-11-07 16:43:10 +00:00
describe 'DataPrefix:', ->
2014-11-07 16:42:02 +00:00
describe 'given no prefix', ->
beforeEach ->
dataPrefix.clear()
describe '#get()', ->
it 'should return nothing', ->
expect(dataPrefix.get()).to.not.exist
describe '#set()', ->
it 'should be able to set a prefix', ->
expect(dataPrefix.get()).to.not.exist
dataPrefix.set(PREFIXES.main)
expect(dataPrefix.get()).to.equal(PREFIXES.main)
it 'should throw an error if passing an invalid path', ->
setInvalidPrefix = _.partial(dataPrefix.set, PREFIXES.invalid)
expect(setInvalidPrefix).to.throw(Error)
describe 'given a prefix', ->
beforeEach ->
dataPrefix.set(PREFIXES.main)
describe '#get()', ->
it 'should return the saved prefix', ->
expect(dataPrefix.get()).to.equal(PREFIXES.main)
describe '#set()', ->
it 'should be able to override the prefix', ->
expect(dataPrefix.get()).to.equal(PREFIXES.main)
dataPrefix.set(PREFIXES.new)
expect(dataPrefix.get()).to.equal(PREFIXES.new)
describe '#clear()', ->
it 'should clear the prefix', ->
expect(dataPrefix.get()).to.equal(PREFIXES.main)
dataPrefix.clear()
expect(dataPrefix.get()).to.not.exist