49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
/*
|
|
Copyright 2026 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 } from "vitest";
|
|
import { BehaviorSubject } from "rxjs";
|
|
|
|
import { testScope } from "../utils/test";
|
|
import { type CallViewModel } from "../state/CallViewModel/CallViewModel";
|
|
import {
|
|
createDeveloperSettingsTabViewModel,
|
|
outOfCallDeveloperSettingsTabViewModel,
|
|
} from "./DeveloperSettingsTabViewModel";
|
|
|
|
describe("createDeveloperSettingsTabViewModel", () => {
|
|
it("projects the key rotation state of the call", () => {
|
|
const keyRotationSuppressed$ = new BehaviorSubject(false);
|
|
const participantCount$ = new BehaviorSubject(5);
|
|
const vm = createDeveloperSettingsTabViewModel(testScope(), {
|
|
keyRotationSuppressed$,
|
|
participantCount$,
|
|
} as unknown as CallViewModel);
|
|
|
|
expect(vm.keyRotation$.value).toEqual({
|
|
suppressed: false,
|
|
participantCount: 5,
|
|
});
|
|
|
|
participantCount$.next(50);
|
|
keyRotationSuppressed$.next(true);
|
|
|
|
expect(vm.keyRotation$.value).toEqual({
|
|
suppressed: true,
|
|
participantCount: 50,
|
|
});
|
|
});
|
|
});
|
|
|
|
describe("outOfCallDeveloperSettingsTabViewModel", () => {
|
|
it("has no key rotation state", () => {
|
|
expect(outOfCallDeveloperSettingsTabViewModel.keyRotation$.value).toBe(
|
|
null,
|
|
);
|
|
});
|
|
});
|