Я использую pusher
для своих сокетов / событий.
Мои каналы-толкатели обернуты в объект, который передается через канал ключ / значение в дочерний компонент. Таким образом, фактический канал находится в this.channel.value
, а this.channel.key
- это просто строка с ключом.
Код
@Input() channel;
...
ngOnInit() {
console.log('channel.value', this.channel.value, typeof this.channel.value);
this.channel.value.bind('client-msg', (msg) => {
...
});
console.log
дает мне объект e
, я предполагаю, что это событие, типа Object?
channel.value e {callbacks: t, global_callbacks: Array(0), failThrough: ƒ, name: "private-5c49fdc35abdba3fccb362795c49fe6d5cc2ea3ffcb4f895", pusher: t, …}callbacks: t {_callbacks: {…}}failThrough: ƒ (t,n)global_callbacks: []name: "private-5c49fdc35abdba3fccb362795c49fe6d5cc2ea3ffcb4f895"pusher: t {key: "0d4bf48a9d086414a4da", config: {…}, channels: t, global_emitter: t, sessionID: 123906324, …}receiver: "5c49fdc35abdba3fccb36279"receiverName: "Don Peyote"subscribed: truesubscriptionCancelled: falsesubscriptionPending: falsetype: "chat"__proto__: e object
Угловой / Жасминовый тест:
beforeEach(() => {
fixture = TestBed.createComponent(ChatMessengerComponent);
component = fixture.componentInstance;
component.channel = {
key: 'private-5c49fdc35abdba3fcl1fecb362795c49fe6d5cc2ea3ffcb4f895',
value:
{
receiver: '5c49fdc35abdba3fccb36279',
name: 'DonPeyote'
}
};
fixture.detectChanges();
});
Вопрос:
Как мне создать заглушку / макет, чтобы я мог передать свои свойства (получатель, имя) и привязать к нему прослушиватель событий?