Files
zulip/zerver/tests/test_zcommand.py
Sayam Samal 073b116c55 zcommand: Rename night->dark and day->light in the color scheme backend.
As a follow up for f49a11c810, this
commit standardizes the naming of the day and night themes to light
and dark, respectively in the backend. This makes the backend
consistent with the naming used in the frontend and UI.

This also solves a regression introduced in
f49a11c810, where the frontend was sending
"/light" and "/dark" commands to the backend, but the backend was
expecting "/day" and "/night" commands.
2024-06-30 22:45:26 -07:00

83 lines
3.1 KiB
Python

from zerver.lib.test_classes import ZulipTestCase
from zerver.models import UserProfile
class ZcommandTest(ZulipTestCase):
def test_invalid_zcommand(self) -> None:
self.login("hamlet")
payload = dict(command="/boil-ocean")
result = self.client_post("/json/zcommand", payload)
self.assert_json_error(result, "No such command: boil-ocean")
payload = dict(command="boil-ocean")
result = self.client_post("/json/zcommand", payload)
self.assert_json_error(result, "There should be a leading slash in the zcommand.")
def test_ping_zcommand(self) -> None:
self.login("hamlet")
payload = dict(command="/ping")
result = self.client_post("/json/zcommand", payload)
self.assert_json_success(result)
def test_night_zcommand(self) -> None:
self.login("hamlet")
user = self.example_user("hamlet")
user.color_scheme = UserProfile.COLOR_SCHEME_LIGHT
user.save()
payload = dict(command="/dark")
result = self.client_post("/json/zcommand", payload)
response_dict = self.assert_json_success(result)
self.assertIn("Changed to dark theme", response_dict["msg"])
result = self.client_post("/json/zcommand", payload)
response_dict = self.assert_json_success(result)
self.assertIn("still in dark theme", response_dict["msg"])
def test_day_zcommand(self) -> None:
self.login("hamlet")
user = self.example_user("hamlet")
user.color_scheme = UserProfile.COLOR_SCHEME_DARK
user.save()
payload = dict(command="/light")
result = self.client_post("/json/zcommand", payload)
response_dict = self.assert_json_success(result)
self.assertIn("Changed to light theme", response_dict["msg"])
result = self.client_post("/json/zcommand", payload)
response_dict = self.assert_json_success(result)
self.assertIn("still in light theme", response_dict["msg"])
def test_fluid_zcommand(self) -> None:
self.login("hamlet")
user = self.example_user("hamlet")
user.fluid_layout_width = False
user.save()
payload = dict(command="/fluid-width")
result = self.client_post("/json/zcommand", payload)
self.assert_json_success(result)
self.assert_in_response("Changed to fluid-width mode!", result)
result = self.client_post("/json/zcommand", payload)
self.assert_json_success(result)
self.assert_in_response("You are still in fluid width mode", result)
def test_fixed_zcommand(self) -> None:
self.login("hamlet")
user = self.example_user("hamlet")
user.fluid_layout_width = True
user.save()
payload = dict(command="/fixed-width")
result = self.client_post("/json/zcommand", payload)
self.assert_json_success(result)
self.assert_in_response("Changed to fixed-width mode!", result)
result = self.client_post("/json/zcommand", payload)
self.assert_json_success(result)
self.assert_in_response("You are still in fixed width mode", result)