Files
scrying-pool/tests/helpers/playerPrivacyManagerMock.js
uberwald 5dc9b3b8d4
CI / ci (push) Failing after 7s
Module cleanup and tests
2026-05-24 23:13:45 +02:00

50 lines
1.6 KiB
JavaScript

// @ts-nocheck
/**
* tests/helpers/playerPrivacyManagerMock.js
*
* Canonical PlayerPrivacyManager mock factory.
* ALL tests that need a PlayerPrivacyManager mock MUST use this factory.
*
* Usage:
* import { createPlayerPrivacyManagerMock } from '../helpers/playerPrivacyManagerMock.js'
* const manager = createPlayerPrivacyManagerMock()
* const manager = createPlayerPrivacyManagerMock({ getSettings: () => ({ reactionCamEnabled: true }) })
*/
import { vi } from "vitest";
/**
* Creates a mock PlayerPrivacyManager with optional overrides.
*
* All methods are vi.fn() stubs by default; pass overrides to customise.
* Default return values match PlayerPrivacyManager behavior.
*
* @param {Partial<PlayerPrivacyManagerSurface>} [overrides={}]
* @returns {PlayerPrivacyManagerSurface}
*/
export function createPlayerPrivacyManagerMock(overrides = {}) {
const defaults = {
// Settings retrieval
getSettings: vi.fn(() => ({
reactionCamEnabled: false,
customPortraitFallback: null,
})),
// Portrait methods
getPortraitFallback: vi.fn(() => null),
getPortraitFallbackDataURL: vi.fn(() => null),
setPortraitFallback: vi.fn().mockResolvedValue(undefined),
removePortraitFallback: vi.fn().mockResolvedValue(undefined),
// Boolean setting methods
setSetting: vi.fn().mockResolvedValue(undefined),
isOptedIn: vi.fn(() => false),
getAllSettings: vi.fn(() => new Map()),
// Event handling
onChange: vi.fn(() => () => {}), // Returns unsubscribe function
teardown: vi.fn(),
// Override with any custom implementations
...overrides,
};
return defaults;
}