base-domain
Version:
simple module to help build Domain-Driven Design
30 lines (17 loc) • 744 B
text/coffeescript
Facade = require('../src/lib/facade')
describe 'Facade', ->
describe '@createInstance', ->
it 'returns instance of Facade', ->
f = Facade.createInstance()
expect(f).to.be.instanceof Facade
it 'returns instance of extended class', ->
class ChildFacade extends Facade
f = ChildFacade.createInstance()
expect(f).to.be.instanceof Facade
expect(f).to.be.instanceof ChildFacade
describe 'error', ->
it 'throw DomainError with reason', ->
f = Facade.createInstance()
err = f.error('notANumber')
expect(err).to.have.property 'reason', 'notANumber'
expect(f.isDomainError(err)).to.be.true