Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne Savolainen committed 2023-05-22 11:31:44 +03:00
1 parent a20a1eade1
commit 7258d51a91
6 files changed
+139 -22

No files matched your search

@@ -1,6 +1,11 @@
import { getInjectable } from "@ogre-tools/injectable";
import sendToIpcInjectable from "./send-to-ipc.injectable";
import { SendMessageToChannel, sendMessageToChannelInjectionToken } from "@k8slens/messaging";
import { getMessageChannel } from "@k8slens/messaging";
type BroadcasterChannelMessage = { targetChannelId: string; message: unknown };
const broadcasterChannel = getMessageChannel<BroadcasterChannelMessage>("messaging-broadcaster-in-main");
const messageToChannelInjectable = getInjectable({
id: "message-to-channel",
@@ -8,8 +13,8 @@ const messageToChannelInjectable = getInjectable({
instantiate: (di) => {
const sendToIpc = di.inject(sendToIpcInjectable);
return ((channel, message) => {
sendToIpc(channel.id, message);
return ((targetChannel, message) => {
sendToIpc(broadcasterChannel.id, { targetChannelId: targetChannel.id, message });
}) as SendMessageToChannel;
},
@@ -31,8 +31,11 @@ describe("message-from-channel", () => {
sendMessageToChannel(someChannel, 42);
});
it("sends to ipcRenderer of Electron", () => {
expect(sendToIpcMock).toHaveBeenCalledWith("some-channel-id", 42);
it("sends message to broadcasting channel using IPC", () => {
expect(sendToIpcMock).toHaveBeenCalledWith("messaging-broadcaster-in-main", {
targetChannelId: "some-channel-id",
message: 42,
});
});
});
});