eventric
Version:
Build JavaScript applications with Behaviour-driven Domain Design. Based on DDD, BDD, CQRS and EventSourcing.
51 lines (50 loc) • 1.75 kB
JavaScript
describe('Index', function() {
describe('#context', function() {
var contextInstance, contextStub;
contextInstance = null;
contextStub = null;
beforeEach(function() {
contextInstance = {
subscribeToAllDomainEvents: sandbox.stub()
};
contextStub = sandbox.stub().returns(contextInstance);
return mockery.registerMock('eventric/src/context', contextStub);
});
it('should throw an error if no name given for the context', function() {
return expect(function() {
return new eventric.context;
}).to["throw"](Error);
});
it('should create a context instance', function() {
var someContext;
someContext = eventric.context('someContext');
return expect(contextStub).to.have.been.calledWithNew;
});
return it('should register global domain event handlers on the context', function() {
var someContext;
someContext = eventric.context('someContext');
return expect(contextInstance.subscribeToAllDomainEvents).to.have.been.called;
});
});
return describe('#set/#get', function() {
it('should save given key/value pairs', function() {
var key, value;
key = Math.random();
value = Math.random();
eventric.set(key, value);
return expect(eventric.get(key)).to.equal(value);
});
it('should return undefined for a not set key', function() {
var key;
key = Math.random();
return expect(eventric.get(key)).to.not.exist;
});
return it('should overwrite already defined values', function() {
var key;
key = Math.random();
eventric.set(key, '1');
eventric.set(key, '2');
return expect(eventric.get(key)).to.equal('2');
});
});
});