2023-07-27 00:31:52 -05:00
|
|
|
/*
|
|
|
|
* SPDX-FileCopyrightText: syuilo and other misskey contributors
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
*/
|
|
|
|
|
2023-03-08 21:48:39 -06:00
|
|
|
import { vi } from 'vitest';
|
2023-03-19 02:59:31 -05:00
|
|
|
import createFetchMock from 'vitest-fetch-mock';
|
|
|
|
|
|
|
|
const fetchMocker = createFetchMock(vi);
|
|
|
|
fetchMocker.enableMocks();
|
2023-03-08 21:48:39 -06:00
|
|
|
|
|
|
|
// Set i18n
|
|
|
|
import locales from '../../../locales';
|
2023-09-19 02:37:43 -05:00
|
|
|
import { updateI18n } from '@/i18n.js';
|
2023-03-08 21:48:39 -06:00
|
|
|
updateI18n(locales['en-US']);
|
|
|
|
|
|
|
|
// XXX: misskey-js panics if WebSocket is not defined
|
|
|
|
vi.stubGlobal('WebSocket', class WebSocket extends EventTarget { static CLOSING = 2; });
|
|
|
|
|
|
|
|
// XXX: defaultStore somehow becomes undefined in vitest?
|
|
|
|
vi.mock('@/store.js', () => {
|
|
|
|
return {
|
|
|
|
defaultStore: {
|
|
|
|
state: {},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
});
|
2023-11-25 18:54:24 -06:00
|
|
|
|
|
|
|
// 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);
|