observer-ax
Version:
Patrón observable, event Bus.
42 lines (37 loc) • 1.24 kB
text/typescript
import {
ReceiverBus,
EventConcreteBus,
NotifyObject
} from '../app';
describe("Test Case Observer", () => {
class Concrete implements ReceiverBus {
receive(subject: NotifyObject, options?: any) {
console.log(options, subject);
expect(subject).toBeDefined();
}
}
beforeEach(() => {
});
it("test #1 => notify", async () => {
try {
const concretBus = new EventConcreteBus();
let clazz: ReceiverBus = new Concrete();
concretBus.subscribe(clazz);
concretBus.publish({ data: { a: 'a' } });
} catch (error) {
expect(error).toBeDefined();
}
});
it("test #1 => notifyNow", async () => {
try {
const concretBus = new EventConcreteBus();
let clazz: ReceiverBus = new Concrete();
concretBus.subscribe(clazz);
concretBus.items = [{ data: { data: 'a' }, topic: "ALL", tries: 0 }];
concretBus.items = [{ data: { data: 'b' }, topic: "ALL", tries: 0 }];
concretBus.publishNow();
} catch (error) {
expect(error).toBeDefined();
}
});
});