add tests

This commit is contained in:
Timo K.
2026-08-25 22:43:15 +02:00
parent f2ffb06f6c
commit 5399f14012
2 changed files with 121 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
/*
Copyright 2025 Element Creations Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE in the repository root for full details.
*/
import { describe, expect, it, vi } from "vitest";
import { MatrixRTCSessionEvent } from "matrix-js-sdk/lib/matrixrtc";
import { EventEmitter } from "events";
import { createKeyRotationSuppressed$ } from "./SessionBehaviors";
import { ObservableScope } from "./ObservableScope";
describe("SessionBehaviors", () => {
describe("createKeyRotationSuppressed$", () => {
it("emits initial value from isKeyRotationSuppressed", () => {
const scope = new ObservableScope();
const mockSession = {
on: vi.fn(),
off: vi.fn(),
isKeyRotationSuppressed: false,
};
const keyRotationSuppressed$ = createKeyRotationSuppressed$(
scope,
mockSession as any,
);
expect(keyRotationSuppressed$.value).toBe(false);
scope.end();
});
it("updates when KeyRotationSuppressedChanged event is emitted", () => {
const scope = new ObservableScope();
const emitter = new EventEmitter();
const mockSession = Object.assign(emitter, {
isKeyRotationSuppressed: false,
});
const keyRotationSuppressed$ = createKeyRotationSuppressed$(
scope,
mockSession as any,
);
expect(keyRotationSuppressed$.value).toBe(false);
emitter.emit(MatrixRTCSessionEvent.KeyRotationSuppressedChanged, true);
expect(keyRotationSuppressed$.value).toBe(true);
emitter.emit(MatrixRTCSessionEvent.KeyRotationSuppressedChanged, false);
expect(keyRotationSuppressed$.value).toBe(false);
scope.end();
});
});
});