feat: theme
This commit is contained in:
@@ -59,6 +59,8 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
"show_thumbnails": False,
|
||||
"preferred_startup_path_left": None,
|
||||
"preferred_startup_path_right": None,
|
||||
"selected_theme": "default",
|
||||
"selected_color_mode": "dark",
|
||||
},
|
||||
)
|
||||
|
||||
@@ -75,6 +77,8 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
"show_thumbnails": False,
|
||||
"preferred_startup_path_left": "storage1/docs",
|
||||
"preferred_startup_path_right": None,
|
||||
"selected_theme": "default",
|
||||
"selected_color_mode": "dark",
|
||||
},
|
||||
)
|
||||
|
||||
@@ -96,6 +100,8 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
"show_thumbnails": True,
|
||||
"preferred_startup_path_left": "storage1/docs",
|
||||
"preferred_startup_path_right": "storage1/docs",
|
||||
"selected_theme": "default",
|
||||
"selected_color_mode": "dark",
|
||||
},
|
||||
)
|
||||
self.assertEqual(
|
||||
@@ -104,6 +110,8 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
"show_thumbnails": True,
|
||||
"preferred_startup_path_left": "storage1/docs",
|
||||
"preferred_startup_path_right": "storage1/docs",
|
||||
"selected_theme": "default",
|
||||
"selected_color_mode": "dark",
|
||||
},
|
||||
)
|
||||
|
||||
@@ -113,6 +121,8 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["preferred_startup_path_left"], "storage1/docs")
|
||||
self.assertEqual(response.json()["preferred_startup_path_right"], None)
|
||||
self.assertEqual(response.json()["selected_theme"], "default")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "dark")
|
||||
|
||||
def test_settings_preferred_startup_path_right_persistence(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"preferred_startup_path_right": "storage1/docs"})
|
||||
@@ -120,6 +130,8 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["preferred_startup_path_left"], None)
|
||||
self.assertEqual(response.json()["preferred_startup_path_right"], "storage1/docs")
|
||||
self.assertEqual(response.json()["selected_theme"], "default")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "dark")
|
||||
|
||||
def test_settings_preferred_startup_path_empty_string_resets_only_left_to_null(self) -> None:
|
||||
self._request(
|
||||
@@ -135,6 +147,34 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["preferred_startup_path_left"], None)
|
||||
self.assertEqual(response.json()["preferred_startup_path_right"], "storage1/docs")
|
||||
self.assertEqual(response.json()["selected_theme"], "default")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "dark")
|
||||
|
||||
def test_settings_selected_theme_persistence(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"selected_theme": "default"})
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["selected_theme"], "default")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "dark")
|
||||
|
||||
def test_settings_selected_color_mode_persistence(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"selected_color_mode": "light"})
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["selected_theme"], "default")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "light")
|
||||
|
||||
def test_settings_rejects_invalid_selected_theme(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"selected_theme": "unknown"})
|
||||
|
||||
self.assertEqual(response.status_code, 400)
|
||||
self.assertEqual(response.json()["error"]["code"], "invalid_request")
|
||||
|
||||
def test_settings_rejects_invalid_selected_color_mode(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"selected_color_mode": "sepia"})
|
||||
|
||||
self.assertEqual(response.status_code, 400)
|
||||
self.assertEqual(response.json()["error"]["code"], "invalid_request")
|
||||
|
||||
def test_settings_preferred_startup_path_left_rejects_file_path(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"preferred_startup_path_left": "storage1/file.txt"})
|
||||
|
||||
Reference in New Issue
Block a user