UNPKG

@platform/cell.tmpl

Version:

Template generator for the system

47 lines (39 loc) 1.46 kB
import { MyBus } from '.'; import { expect, pkg, rx, slug, Test } from '../test'; export default Test.describe('MyBus', (e) => { const Create = { instance: () => ({ bus: rx.bus(), id: `foo.${slug()}` }), }; e.describe('is', (e) => { const is = MyBus.Events.is; e.it('is (static/instance)', () => { const instance = Create.instance(); const events = MyBus.Events({ instance }); expect(events.is).to.equal(is); }); e.it('is.base', () => { const test = (type: string, expected: boolean) => { expect(is.base({ type, payload: {} })).to.eql(expected); }; test('foo', false); test('my.namespace/', true); }); e.it('is.instance', () => { const type = 'my.namespace/'; expect(is.instance({ type, payload: { instance: 'abc' } }, 'abc')).to.eql(true); expect(is.instance({ type, payload: { instance: 'abc' } }, '123')).to.eql(false); expect(is.instance({ type: 'foo', payload: { instance: 'abc' } }, 'abc')).to.eql(false); }); }); e.describe('Controller/Events', (e) => { e.it('info', async () => { const instance = Create.instance(); const events = MyBus.Controller({ instance }); const res = await events.info.get(); events.dispose(); expect(res.instance).to.eql(instance.id); expect(res.info?.module.name).to.eql(pkg.name); expect(res.info?.module.version).to.eql(pkg.version); }); }); });