Files
nebula.js/apis/supernova/__tests__/unit/generator.spec.js
Christoffer Åström a57abf1ead refactor: internal packages structure (#94)
* refactor: internal packages structure

* refactor: internal packages structure
2019-08-27 09:57:04 +02:00

49 lines
1.1 KiB
JavaScript

// import generator from '../../src/generator';
describe('generator', () => {
const [{ default: generator }] = aw.mock(
[['**/creator.js', () => (...a) => [...a]], ['**/qae.js', () => qae => qae || 'qae']],
['../../src/generator']
);
it('should have a default qae property', () => {
expect(generator({}).qae).to.eql('qae');
});
it('should have a component property', () => {
expect(generator({}).component).to.eql({});
});
it('should not override reserved properties', () => {
expect(
generator({
foo: 'bar',
component: 'c',
}).definition
).to.eql({
foo: 'bar',
});
});
it('should accept a function', () => {
const spy = sinon.stub().returns({});
generator(spy, { translator: 't', Promise: 'P' });
expect(spy).to.have.been.calledWithExactly({
translator: 't',
Promise: 'P',
});
});
it('should create an instance', () => {
const g = generator(
{},
{
translator: 't',
Promise: 'P',
}
);
const ret = g.create('a');
expect(ret).to.eql([g, 'a', { translator: 't', Promise: 'P' }]);
});
});