mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-01-18 02:39:49 +00:00
Implement DataPrefix module
This commit is contained in:
parent
afe438ff82
commit
64e66e229f
15
lib/data/data-prefix.coffee
Normal file
15
lib/data/data-prefix.coffee
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
fsUtils = require('../fs-utils/fs-utils')
|
||||||
|
|
||||||
|
prefix = null
|
||||||
|
|
||||||
|
exports.get = ->
|
||||||
|
return prefix
|
||||||
|
|
||||||
|
exports.set = (newPrefix) ->
|
||||||
|
if not fsUtils.isValidPath(newPrefix)
|
||||||
|
throw new Error('Invalid path')
|
||||||
|
|
||||||
|
prefix = newPrefix
|
||||||
|
|
||||||
|
exports.clear = ->
|
||||||
|
prefix = null
|
55
lib/data/data-prefix.spec.coffee
Normal file
55
lib/data/data-prefix.spec.coffee
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
expect = require('chai').expect
|
||||||
|
_ = require('lodash')
|
||||||
|
dataPrefix = require('./data-prefix')
|
||||||
|
|
||||||
|
PREFIXES =
|
||||||
|
main: '~/.resin'
|
||||||
|
new: '~/.resin-new'
|
||||||
|
invalid: { path: '~/.resin' }
|
||||||
|
|
||||||
|
describe 'DataPrefix', ->
|
||||||
|
|
||||||
|
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
|
Loading…
Reference in New Issue
Block a user