From c8b85a98b807be7d7b4032cb2b9703c25665b1c5 Mon Sep 17 00:00:00 2001
From: woxtu <woxtup@gmail.com>
Date: Sun, 26 Nov 2023 09:54:24 +0900
Subject: [PATCH] Add mocks for Web Audio API (#12457)

---
 packages/frontend/test/init.ts | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/packages/frontend/test/init.ts b/packages/frontend/test/init.ts
index 986fa99c1..ab5e84b53 100644
--- a/packages/frontend/test/init.ts
+++ b/packages/frontend/test/init.ts
@@ -25,3 +25,21 @@ vi.mock('@/store.js', () => {
 		},
 	};
 });
+
+// Add mocks for Web Audio API
+const AudioNodeMock = vi.fn(() => ({
+	connect: vi.fn(() => ({ connect: vi.fn() })),
+	start: vi.fn(),
+}));
+
+const GainNodeMock = vi.fn(() => ({
+	gain: vi.fn(),
+}));
+
+const AudioContextMock = vi.fn(() => ({
+	createBufferSource: vi.fn(() => new AudioNodeMock()),
+	createGain: vi.fn(() => new GainNodeMock()),
+	decodeAudioData: vi.fn(),
+}));
+
+vi.stubGlobal('AudioContext', AudioContextMock);