Skip to content

Commit 5ee046e

Browse files
authored
Clean up preference types and tests [SYNTH-342] (#1492)
2 parents b77b68c + 0b20db7 commit 5ee046e

3 files changed

Lines changed: 17 additions & 110 deletions

File tree

fission/src/systems/preferences/PreferenceTypes.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,10 @@ import type { SimConfigData } from "../simulation/SimConfigShared"
77
/** Names of all global preferences. */
88

99
export type UserPreferences = {
10-
ZoomSensitivity: number
11-
PitchSensitivity: number
12-
YawSensitivity: number
1310
SceneRotationSensitivity: number
1411
ScenePanSensitivity: number
1512
ViewCubeRotationSensitivity: number
1613
ReportAnalytics: boolean
17-
UseMetric: boolean
1814
RenderScoringZones: boolean
1915
RenderProtectedZones: boolean
2016
InputSchemes: InputScheme[]
@@ -51,14 +47,10 @@ export type Preferences = {
5147
*/
5248
export function defaultUserPreferences(): UserPreferences {
5349
return {
54-
ZoomSensitivity: 15,
55-
PitchSensitivity: 10,
56-
YawSensitivity: 3,
5750
SceneRotationSensitivity: 0.5,
5851
ScenePanSensitivity: 1.0,
5952
ViewCubeRotationSensitivity: 0.025,
6053
ReportAnalytics: false,
61-
UseMetric: false,
6254
RenderScoringZones: true,
6355
RenderProtectedZones: true,
6456
InputSchemes: [],

fission/src/test/PreferencesSystem.test.ts

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,73 +11,70 @@ import {
1111
type GraphicsPreferences,
1212
type RobotPreferences,
1313
type UserPreference,
14-
type UserPreferences,
1514
} from "@/systems/preferences/PreferenceTypes"
1615

17-
/**
18-
* Captures the full current user-preferences state by resolving every key
19-
* defined by defaultUserPreferences() through the public getter, so the whole
20-
* set can be asserted with toMatchSnapshot().
21-
*/
22-
function captureUserPreferences(): UserPreferences {
23-
const keys = Object.keys(defaultUserPreferences()) as UserPreference[]
24-
return Object.fromEntries(keys.map(key => [key, PreferencesSystem.getUserPreference(key)])) as UserPreferences
16+
function expectDefaultPreferences() {
17+
const defaults = defaultUserPreferences()
18+
const keys = Object.keys(defaults) as UserPreference[]
19+
keys.forEach(key => {
20+
expect(PreferencesSystem.getUserPreference(key), `Mismatch in preference ${key}`).toEqual(defaults[key])
21+
})
2522
}
2623

2724
describe("Preferences System Global Values", () => {
2825
test("Setting values", () => {
29-
PreferencesSystem.setUserPreference("ZoomSensitivity", 7)
26+
PreferencesSystem.setUserPreference("SceneRotationSensitivity", 7)
3027
PreferencesSystem.setUserPreference("RenderSceneTags", false)
3128
PreferencesSystem.setUserPreference("RenderScoreboard", false)
3229

33-
expect(PreferencesSystem.getUserPreference("ZoomSensitivity")).toBe(7)
30+
expect(PreferencesSystem.getUserPreference("SceneRotationSensitivity")).toBe(7)
3431
expect(PreferencesSystem.getUserPreference("RenderSceneTags")).toBe(false)
3532
expect(PreferencesSystem.getUserPreference("RenderScoreboard")).toBe(false)
3633
})
3734

3835
test("Setting without saving", () => {
39-
PreferencesSystem.setUserPreference("ZoomSensitivity", 13)
36+
PreferencesSystem.setUserPreference("SceneRotationSensitivity", 13)
4037
PreferencesSystem.setUserPreference("RenderSceneTags", false)
4138
PreferencesSystem.setUserPreference("RenderScoreboard", true)
4239

4340
window.localStorage.setItem("Preferences", "{}") // Clears local storage
4441
PreferencesSystem.loadPreferences()
4542

46-
expect(captureUserPreferences()).toMatchSnapshot("default user preferences")
43+
expectDefaultPreferences()
4744
})
4845

4946
test("Reset to default if undefined", () => {
50-
PreferencesSystem.setUserPreference("ZoomSensitivity", undefined as unknown as number)
47+
PreferencesSystem.setUserPreference("SceneRotationSensitivity", undefined as unknown as number)
5148
PreferencesSystem.setUserPreference("RenderSceneTags", undefined as unknown as boolean)
5249
PreferencesSystem.setUserPreference("RenderScoreboard", undefined as unknown as boolean)
5350

54-
expect(captureUserPreferences()).toMatchSnapshot("default user preferences")
51+
expectDefaultPreferences()
5552
})
5653

5754
test("Setting then saving", () => {
58-
PreferencesSystem.setUserPreference("ZoomSensitivity", 13)
55+
PreferencesSystem.setUserPreference("SceneRotationSensitivity", 13)
5956
PreferencesSystem.setUserPreference("RenderSceneTags", true)
6057
PreferencesSystem.setUserPreference("RenderScoreboard", false)
6158

6259
PreferencesSystem.savePreferences()
63-
PreferencesSystem.setUserPreference("ZoomSensitivity", 20)
60+
PreferencesSystem.setUserPreference("SceneRotationSensitivity", 20)
6461
PreferencesSystem.setUserPreference("RenderSceneTags", false)
6562
PreferencesSystem.setUserPreference("RenderScoreboard", true)
6663
PreferencesSystem.loadPreferences()
6764

68-
expect(PreferencesSystem.getUserPreference("ZoomSensitivity")).toBe(13)
65+
expect(PreferencesSystem.getUserPreference("SceneRotationSensitivity")).toBe(13)
6966
expect(PreferencesSystem.getUserPreference("RenderSceneTags")).toBe(true)
7067
expect(PreferencesSystem.getUserPreference("RenderScoreboard")).toBe(false)
7168
})
7269

7370
test("Clearing preferences", () => {
74-
PreferencesSystem.setUserPreference("ZoomSensitivity", 13)
71+
PreferencesSystem.setUserPreference("SceneRotationSensitivity", 13)
7572
PreferencesSystem.setUserPreference("RenderSceneTags", true)
7673
PreferencesSystem.setUserPreference("RenderScoreboard", false)
7774

7875
PreferencesSystem.clearPreferences()
7976

80-
expect(captureUserPreferences()).toMatchSnapshot("default user preferences")
77+
expectDefaultPreferences()
8178
})
8279

8380
test("Graphics preferences", () => {

fission/src/test/__snapshots__/PreferencesSystem.test.ts.snap

Lines changed: 0 additions & 82 deletions
This file was deleted.

0 commit comments

Comments
 (0)