mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-08-25 12:57:07 +00:00
32 lines
1.4 KiB
TypeScript
32 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { eventHub } from "@/common/events";
|
|
import { translateLiveSyncMessage } from "@/common/translation";
|
|
import { observeServiceContext } from "../../../test/contracts/serviceContext";
|
|
import { ObsidianServiceContext } from "./ObsidianServiceContext";
|
|
|
|
const TRANSLATION_KEY = "Replicator.Message.InitialiseFatalError";
|
|
|
|
describe("ObsidianServiceContext contract", () => {
|
|
it("preserves the plug-in capabilities and host-neutral API results", () => {
|
|
type Parameters = ConstructorParameters<typeof ObsidianServiceContext>;
|
|
const app = {} as Parameters[0];
|
|
const plugin = {} as Parameters[1];
|
|
const liveSyncPlugin = {} as Parameters[2];
|
|
const notices = {} as Parameters[3];
|
|
const noticeGroups = {} as Parameters[4];
|
|
const context = new ObsidianServiceContext(app, plugin, liveSyncPlugin, notices, noticeGroups);
|
|
|
|
expect(observeServiceContext(context, TRANSLATION_KEY)).toEqual({
|
|
translation: translateLiveSyncMessage(TRANSLATION_KEY),
|
|
receivedEvents: ["context-contract-event"],
|
|
});
|
|
expect(context.events).toBe(eventHub);
|
|
expect(context.app).toBe(app);
|
|
expect(context.plugin).toBe(plugin);
|
|
expect(context.liveSyncPlugin).toBe(liveSyncPlugin);
|
|
expect(context.notices).toBe(notices);
|
|
expect(context.noticeGroups).toBe(noticeGroups);
|
|
});
|
|
});
|