jimdo-templateflow
Version:
jimdo template grunt workflow
105 lines (87 loc) • 3.09 kB
JavaScript
'use-strict'
var proxyquire = require('proxyquire')
describe('configuration', function () {
beforeEach(function () {
this.config = proxyquire('../../config/config.js', {
fs: {
existsSync: function(_) { return false }
}
})
})
afterEach(function () {
delete process.env.PORT
delete process.env.PUBLISHER_ENDPOINT
})
it('does returns an object', function () {
expect(this.config()).toEqual(jasmine.any(Object))
})
it('does return default values when no template.yml given', function () {
expect(this.config().bowerDir).toEqual('bower_components')
expect(this.config().cssDir).toEqual('css')
expect(this.config().cssExt).toEqual('.css')
expect(this.config().imgDir).toEqual('')
expect(this.config().port).toEqual(8080)
expect(this.config().publisherEndpoint).toEqual(undefined)
expect(this.config().sassDir).toEqual('sass')
expect(this.config().sassCompiling).toEqual(true)
})
it('does return port of environment', function () {
process.env.PORT = 1234
expect(this.config().port).toEqual('1234')
})
it('does return publisher endpoint of environment', function () {
process.env.PUBLISHER_ENDPOINT = 'https://test.com'
expect(this.config().publisherEndpoint).toEqual('https://test.com')
})
describe('template data', function () {
beforeEach(function () {
this.config = proxyquire('../../config/config.js', {
fs: {
existsSync: function(_) { return true }
},
yamljs: {
load: function (_) {
return {
bowerDir: 'test',
cssDir: 'test',
cssExt: 'test',
designId: 120,
imgDir: 'test',
port: 9000,
publisherEndpoint: 'test',
sassDir: 'test',
sassCompiling: false
}
}
}
})
})
it('does return bower dir given to template.yml', function () {
expect(this.config().bowerDir).toEqual('test')
})
it('does return css dir given to template.yml', function () {
expect(this.config().cssDir).toEqual('test')
})
it('does return css extension given to template.yml', function () {
expect(this.config().cssExt).toEqual('test')
})
it('does return design id given to template.yml', function () {
expect(this.config().designId).toEqual(120)
})
it('does return img dir given to template.yml', function () {
expect(this.config().imgDir).toEqual('test')
})
it('does return port given to template.yml', function () {
expect(this.config().port).toEqual(9000)
})
it('does return publisher endpoint given to template.yml', function () {
expect(this.config().publisherEndpoint).toEqual('test')
})
it('does return sass dir given to template.yml', function () {
expect(this.config().sassDir).toEqual('test')
})
it('does return sass compiling value given to template.yml', function () {
expect(this.config().sassCompiling).toEqual(false)
})
})
})