balena-cli/lib/helpers/helpers.spec.coffee
2014-12-02 09:50:59 -04:00

66 lines
1.7 KiB
CoffeeScript

expect = require('chai').expect
sinon = require('sinon')
_ = require('lodash')
helpers = require('./helpers')
resin = require('../resin')
STRING =
numbers: '1234567812345678'
describe 'Helpers:', ->
describe '#formatLongString()', ->
it 'should format a string', ->
result = helpers.formatLongString(STRING.numbers, 4)
expect(result).to.equal('1234\n5678\n1234\n5678')
it 'should return the same string if n is null/undefined', ->
for value in [ undefined, null ]
result = helpers.formatLongString(STRING.numbers, value)
expect(result).to.equal(STRING.numbers)
it 'should throw an error if input is not a string', ->
for value in [
undefined
null
[]
{}
123
]
fn = _.partial(helpers.formatLongString, value, 4)
expect(fn).to.throw
it 'should return the same string if n > string.length', ->
stringLength = STRING.numbers.length
result = helpers.formatLongString(STRING.numbers, stringLength + 1)
expect(result).to.equal(STRING.numbers)
describe '#isDeviceUUIDValid()', ->
devices = [
{ uuid: 1234 }
{ uuid: 5678 }
]
deviceGetAllStub = null
beforeEach ->
deviceGetAllStub = sinon.stub(resin.models.device, 'getAll')
deviceGetAllStub.yields(null, devices)
afterEach ->
deviceGetAllStub.restore()
it 'should return true if there is a device with that UUID', (done) ->
helpers.isDeviceUUIDValid devices[0].uuid, (error, isValid) ->
expect(error).to.not.exist
expect(isValid).to.be.true
done()
it 'should return false if there is not a device with that UUID', (done) ->
helpers.isDeviceUUIDValid 'invalidUUID', (error, isValid) ->
expect(error).to.not.exist
expect(isValid).to.be.false
done()