@@ -98,10 +98,10 @@ describe("PlayerPrivacyManager", () => {
|
||||
});
|
||||
|
||||
it("should return saved settings when flag exists", () => {
|
||||
const savedSettings = { reactionCamEnabled: true, hpReactiveCamStylingEnabled: false, customPortraitFallback: null };
|
||||
const savedSettings = { reactionCamEnabled: true, customPortraitFallback: null };
|
||||
adapter.users.get.mockReturnValue({
|
||||
getFlag: vi.fn((scope, key) => {
|
||||
if (scope === "video-view-manager") {
|
||||
if (scope === "scrying-pool") {
|
||||
return savedSettings[key];
|
||||
}
|
||||
return undefined;
|
||||
@@ -114,7 +114,7 @@ describe("PlayerPrivacyManager", () => {
|
||||
it("should return partial settings merged with defaults", () => {
|
||||
adapter.users.get.mockReturnValue({
|
||||
getFlag: vi.fn((scope, key) => {
|
||||
if (scope === "video-view-manager" && key === "reactionCamEnabled") {
|
||||
if (scope === "scrying-pool" && key === "reactionCamEnabled") {
|
||||
return true;
|
||||
}
|
||||
return undefined;
|
||||
@@ -123,7 +123,6 @@ describe("PlayerPrivacyManager", () => {
|
||||
const result = manager.getSettings("user1");
|
||||
expect(result).toEqual({
|
||||
reactionCamEnabled: true,
|
||||
hpReactiveCamStylingEnabled: false,
|
||||
customPortraitFallback: null,
|
||||
});
|
||||
});
|
||||
@@ -182,7 +181,7 @@ describe("PlayerPrivacyManager", () => {
|
||||
adapter.users.get.mockReturnValue(mockUser);
|
||||
await manager.setSetting("user1", "reactionCamEnabled", true);
|
||||
expect(mockUser.setFlag).toHaveBeenCalledWith(
|
||||
"video-view-manager",
|
||||
"scrying-pool",
|
||||
"reactionCamEnabled",
|
||||
true
|
||||
);
|
||||
@@ -268,15 +267,6 @@ describe("PlayerPrivacyManager", () => {
|
||||
expect(manager.isOptedIn("nonexistent", "reactionCam")).toBe(false);
|
||||
});
|
||||
|
||||
it("should work for hpReactiveCamStyling feature", () => {
|
||||
adapter.users.get.mockReturnValue({
|
||||
getFlag: vi.fn((scope, key) => {
|
||||
if (key === "hpReactiveCamStylingEnabled") return true;
|
||||
return false;
|
||||
}),
|
||||
});
|
||||
expect(manager.isOptedIn("user1", "hpReactiveCamStyling")).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe("getAllSettings", () => {
|
||||
@@ -295,7 +285,6 @@ describe("PlayerPrivacyManager", () => {
|
||||
id: "user1",
|
||||
getFlag: vi.fn((scope, key) => {
|
||||
if (key === "reactionCamEnabled") return true;
|
||||
if (key === "hpReactiveCamStylingEnabled") return false;
|
||||
return undefined; // customPortraitFallback and other keys
|
||||
}),
|
||||
};
|
||||
@@ -303,7 +292,6 @@ describe("PlayerPrivacyManager", () => {
|
||||
id: "user2",
|
||||
getFlag: vi.fn((scope, key) => {
|
||||
if (key === "reactionCamEnabled") return false;
|
||||
if (key === "hpReactiveCamStylingEnabled") return true;
|
||||
return undefined; // customPortraitFallback and other keys
|
||||
}),
|
||||
};
|
||||
@@ -318,12 +306,10 @@ describe("PlayerPrivacyManager", () => {
|
||||
expect(result.size).toBe(2);
|
||||
expect(result.get("user1")).toEqual({
|
||||
reactionCamEnabled: true,
|
||||
hpReactiveCamStylingEnabled: false,
|
||||
customPortraitFallback: null,
|
||||
});
|
||||
expect(result.get("user2")).toEqual({
|
||||
reactionCamEnabled: false,
|
||||
hpReactiveCamStylingEnabled: true,
|
||||
customPortraitFallback: null,
|
||||
});
|
||||
});
|
||||
@@ -429,34 +415,6 @@ describe("PlayerPrivacyManager", () => {
|
||||
expect(manager.isOptedIn("player1", "reactionCam")).toBe(true);
|
||||
});
|
||||
|
||||
it("should handle player disabling HP-Reactive Cam Styling", async () => {
|
||||
const mockUser = {
|
||||
id: "player1",
|
||||
getFlag: vi.fn((scope, key) => {
|
||||
if (key === "hpReactiveCamStylingEnabled") return true;
|
||||
return false;
|
||||
}),
|
||||
setFlag: vi.fn().mockResolvedValue(undefined),
|
||||
};
|
||||
adapter.users.get.mockReturnValue(mockUser);
|
||||
|
||||
// Initially opted in
|
||||
expect(manager.isOptedIn("player1", "hpReactiveCamStyling")).toBe(true);
|
||||
|
||||
// Disable HP-Reactive Cam Styling
|
||||
await manager.setSetting("player1", "hpReactiveCamStylingEnabled", false);
|
||||
// After setting, the mock should return false for hpReactiveCamStylingEnabled
|
||||
adapter.users.get.mockReturnValue({
|
||||
id: "player1",
|
||||
getFlag: vi.fn((scope, key) => {
|
||||
if (key === "hpReactiveCamStylingEnabled") return false;
|
||||
return false;
|
||||
}),
|
||||
setFlag: vi.fn().mockResolvedValue(undefined),
|
||||
});
|
||||
expect(manager.isOptedIn("player1", "hpReactiveCamStyling")).toBe(false);
|
||||
});
|
||||
|
||||
it("should allow GM to view all players' settings", () => {
|
||||
const gm = { id: "gm1", isGM: true, getFlag: vi.fn(() => false) };
|
||||
const player1 = {
|
||||
@@ -465,7 +423,7 @@ describe("PlayerPrivacyManager", () => {
|
||||
};
|
||||
const player2 = {
|
||||
id: "player2",
|
||||
getFlag: vi.fn((scope, key) => (key === "hpReactiveCamStylingEnabled" ? true : false)),
|
||||
getFlag: vi.fn((scope, key) => (key === "reactionCamEnabled" ? false : false)),
|
||||
};
|
||||
|
||||
adapter.users.all.mockReturnValue([gm, player1, player2]);
|
||||
@@ -518,7 +476,7 @@ describe("PlayerPrivacyManager", () => {
|
||||
).resolves.not.toThrow();
|
||||
|
||||
expect(mockUser.setFlag).toHaveBeenCalledWith(
|
||||
"video-view-manager",
|
||||
"scrying-pool",
|
||||
"customPortraitFallback",
|
||||
dataURL
|
||||
);
|
||||
@@ -648,7 +606,7 @@ describe("PlayerPrivacyManager", () => {
|
||||
await manager.removePortraitFallback("player1");
|
||||
|
||||
expect(mockUser.unsetFlag).toHaveBeenCalledWith(
|
||||
"video-view-manager",
|
||||
"scrying-pool",
|
||||
"customPortraitFallback"
|
||||
);
|
||||
});
|
||||
@@ -686,7 +644,6 @@ describe("PlayerPrivacyManager", () => {
|
||||
getFlag: vi.fn((scope, key) => {
|
||||
if (key === "customPortraitFallback") return dataURL;
|
||||
if (key === "reactionCamEnabled") return true;
|
||||
if (key === "hpReactiveCamStylingEnabled") return false;
|
||||
return undefined;
|
||||
}),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user