This commit is contained in:
fkwp
2026-04-09 18:35:56 +02:00
parent 108a5f09c6
commit f8fa9d1e7e
3 changed files with 37 additions and 19 deletions

View File

@@ -53,7 +53,8 @@ vi.mock("deepfilternet3-noise-filter", () => {
};
});
const mockDeepFilterNoiseFilterProcessor = DeepFilterNoiseFilterProcessor as unknown as NoiseFilterProcessorMock;
const mockDeepFilterNoiseFilterProcessor =
DeepFilterNoiseFilterProcessor as unknown as NoiseFilterProcessorMock;
describe("NoiseSuppressionTransformer", () => {
beforeEach((): void => {
@@ -100,8 +101,12 @@ describe("NoiseSuppressionTransformer", () => {
transformer.setSuppressionLevel(1.5);
transformer.setSuppressionLevel(-0.2);
expect(mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel).toHaveBeenNthCalledWith(1, 100);
expect(mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel).toHaveBeenNthCalledWith(2, 0);
expect(
mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel,
).toHaveBeenNthCalledWith(1, 100);
expect(
mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel,
).toHaveBeenNthCalledWith(2, 0);
});
it("forwards enabled state changes to the underlying processor", (): void => {
@@ -111,8 +116,12 @@ describe("NoiseSuppressionTransformer", () => {
transformer.setEnabled(false);
transformer.setEnabled(true);
expect(mockDeepFilterNoiseFilterProcessor.mockSetEnabled).toHaveBeenNthCalledWith(1, false);
expect(mockDeepFilterNoiseFilterProcessor.mockSetEnabled).toHaveBeenNthCalledWith(2, true);
expect(
mockDeepFilterNoiseFilterProcessor.mockSetEnabled,
).toHaveBeenNthCalledWith(1, false);
expect(
mockDeepFilterNoiseFilterProcessor.mockSetEnabled,
).toHaveBeenNthCalledWith(2, true);
});
it("destroys the processor and resets internal state", (): void => {
@@ -121,7 +130,9 @@ describe("NoiseSuppressionTransformer", () => {
transformer.destroy();
expect(mockDeepFilterNoiseFilterProcessor.mockDestroy).toHaveBeenCalledTimes(1);
expect(
mockDeepFilterNoiseFilterProcessor.mockDestroy,
).toHaveBeenCalledTimes(1);
expect(transformer.getProcessor()).toBeNull();
});
});

View File

@@ -75,7 +75,8 @@ vi.mock("deepfilternet3-noise-filter", () => {
};
});
const mockDeepFilterNoiseFilterProcessor = DeepFilterNoiseFilterProcessor as unknown as NoiseFilterProcessorMock;
const mockDeepFilterNoiseFilterProcessor =
DeepFilterNoiseFilterProcessor as unknown as NoiseFilterProcessorMock;
let audioTrackNoiseSuppressionSync: AudioTrackNoiseSuppressionSync;
let noiseSuppressionEnabled: Setting<boolean>;
@@ -126,8 +127,12 @@ describe("audioTrackNoiseSuppressionSync", () => {
expect(track.setProcessor).toHaveBeenCalledTimes(1);
expect(track.getProcessor()).not.toBeUndefined();
expect(mockDeepFilterNoiseFilterProcessor.mockSetEnabled).toHaveBeenCalledWith(false);
expect(mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel).toHaveBeenCalledWith(75);
expect(
mockDeepFilterNoiseFilterProcessor.mockSetEnabled,
).toHaveBeenCalledWith(false);
expect(
mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel,
).toHaveBeenCalledWith(75);
});
it("reapplies processor when audio track becomes available", async (): Promise<void> => {
@@ -150,6 +155,8 @@ describe("audioTrackNoiseSuppressionSync", () => {
scope.end();
await Promise.resolve();
expect(mockDeepFilterNoiseFilterProcessor.mockDestroy).toHaveBeenCalledTimes(1);
expect(
mockDeepFilterNoiseFilterProcessor.mockDestroy,
).toHaveBeenCalledTimes(1);
});
});

View File

@@ -159,23 +159,23 @@ vi.mock("../MediaDevicesContext", () => ({
} => ({
audioInput: {
selectedId: "mic1",
available$: new BehaviorSubject<readonly { deviceId: string; label: string }[]>([
{ deviceId: "mic1", label: "Microphone 1" },
] as const),
available$: new BehaviorSubject<
readonly { deviceId: string; label: string }[]
>([{ deviceId: "mic1", label: "Microphone 1" }] as const),
selected$: new BehaviorSubject({ id: "mic1", label: "Microphone 1" }),
},
audioOutput: {
selectedId: "speaker1",
available$: new BehaviorSubject<readonly { deviceId: string; label: string }[]>([
{ deviceId: "speaker1", label: "Speaker 1" },
] as const),
available$: new BehaviorSubject<
readonly { deviceId: string; label: string }[]
>([{ deviceId: "speaker1", label: "Speaker 1" }] as const),
selected$: new BehaviorSubject({ id: "speaker1", label: "Speaker 1" }),
},
videoInput: {
selectedId: "cam1",
available$: new BehaviorSubject<readonly { deviceId: string; label: string }[]>([
{ deviceId: "cam1", label: "Camera 1" },
] as const),
available$: new BehaviorSubject<
readonly { deviceId: string; label: string }[]
>([{ deviceId: "cam1", label: "Camera 1" }] as const),
selected$: new BehaviorSubject({ id: "cam1", label: "Camera 1" }),
},
requestDeviceNames: vi.fn(),