Don't reference the notification levels by colour (#12138)
* Don't reference the notification levels by colour We're about to change what colours they are so either we'd have to rename a bunch of constants. We may as well make things not reference what colour anything is in the actual UI. Hopefully these constants are clear enough. * Rename NotificationColor -> NotificationLevel * Red -> Highlight * Grey -> Notification * Bold -> Activity * Anywhere else that calls it 'color' -> 'level' Also fixes some weird mixes of US & UK English. It turns out this is referenced in... quite a lot of places, so this is quite a large PR. It can't really be much smaller, sorry. * One test rename & some hiding due to ts-ignore * More hiding behind ts-ignore * Damn you, @ts-ignore... * Fix test CSS values * Missed some colour -> level Co-authored-by: Florian Duros <florianduros@element.io> * Change other instances of variables renamed in suggestion * Update new test for renames --------- Co-authored-by: Florian Duros <florianduros@element.io>
This commit is contained in:
parent
97339ee2f6
commit
9254e9562e
42 changed files with 268 additions and 265 deletions
|
@ -19,7 +19,7 @@ import React from "react";
|
|||
|
||||
import { StatelessNotificationBadge } from "../../../../../src/components/views/rooms/NotificationBadge/StatelessNotificationBadge";
|
||||
import SettingsStore from "../../../../../src/settings/SettingsStore";
|
||||
import { NotificationColor } from "../../../../../src/stores/notifications/NotificationColor";
|
||||
import { NotificationLevel } from "../../../../../src/stores/notifications/NotificationLevel";
|
||||
|
||||
describe("NotificationBadge", () => {
|
||||
describe("StatelessNotificationBadge", () => {
|
||||
|
@ -27,7 +27,7 @@ describe("NotificationBadge", () => {
|
|||
const cb = jest.fn();
|
||||
|
||||
const { getByRole } = render(
|
||||
<StatelessNotificationBadge symbol="" color={NotificationColor.Red} count={5} onClick={cb} />,
|
||||
<StatelessNotificationBadge symbol="" level={NotificationLevel.Highlight} count={5} onClick={cb} />,
|
||||
);
|
||||
|
||||
fireEvent.click(getByRole("button")!);
|
||||
|
@ -40,7 +40,7 @@ describe("NotificationBadge", () => {
|
|||
});
|
||||
|
||||
const { container } = render(
|
||||
<StatelessNotificationBadge symbol="" color={NotificationColor.Bold} count={1} />,
|
||||
<StatelessNotificationBadge symbol="" level={NotificationLevel.Activity} count={1} />,
|
||||
);
|
||||
|
||||
expect(container.firstChild).toBeNull();
|
||||
|
|
|
@ -18,19 +18,19 @@ import React from "react";
|
|||
import { render } from "@testing-library/react";
|
||||
|
||||
import { StatelessNotificationBadge } from "../../../../../src/components/views/rooms/NotificationBadge/StatelessNotificationBadge";
|
||||
import { NotificationColor } from "../../../../../src/stores/notifications/NotificationColor";
|
||||
import { NotificationLevel } from "../../../../../src/stores/notifications/NotificationLevel";
|
||||
|
||||
describe("StatelessNotificationBadge", () => {
|
||||
it("is highlighted when unsent", () => {
|
||||
const { container } = render(
|
||||
<StatelessNotificationBadge symbol="!" count={0} color={NotificationColor.Unsent} />,
|
||||
<StatelessNotificationBadge symbol="!" count={0} level={NotificationLevel.Unsent} />,
|
||||
);
|
||||
expect(container.querySelector(".mx_NotificationBadge_highlighted")).not.toBe(null);
|
||||
});
|
||||
|
||||
it("has knock style", () => {
|
||||
const { container } = render(
|
||||
<StatelessNotificationBadge symbol="!" count={0} color={NotificationColor.Red} knocked={true} />,
|
||||
<StatelessNotificationBadge symbol="!" count={0} level={NotificationLevel.Highlight} knocked={true} />,
|
||||
);
|
||||
expect(container.querySelector(".mx_NotificationBadge_dot")).not.toBeInTheDocument();
|
||||
expect(container.querySelector(".mx_NotificationBadge_knocked")).toBeInTheDocument();
|
||||
|
|
|
@ -25,7 +25,7 @@ import { SDKContext, SdkContextClass } from "../../../../../src/contexts/SDKCont
|
|||
import RightPanelStore from "../../../../../src/stores/right-panel/RightPanelStore";
|
||||
import { getMockClientWithEventEmitter, mockClientMethodsUser } from "../../../../test-utils";
|
||||
import { RoomNotificationState } from "../../../../../src/stores/notifications/RoomNotificationState";
|
||||
import { NotificationColor } from "../../../../../src/stores/notifications/NotificationColor";
|
||||
import { NotificationLevel } from "../../../../../src/stores/notifications/NotificationLevel";
|
||||
import { NotificationStateEvents } from "../../../../../src/stores/notifications/NotificationState";
|
||||
import { RightPanelPhases } from "../../../../../src/stores/right-panel/RightPanelStorePhases";
|
||||
|
||||
|
@ -46,11 +46,11 @@ describe("<VideoRoomChatButton />", () => {
|
|||
return room;
|
||||
};
|
||||
|
||||
const mockRoomNotificationState = (room: Room, color: NotificationColor): RoomNotificationState => {
|
||||
const mockRoomNotificationState = (room: Room, level: NotificationLevel): RoomNotificationState => {
|
||||
const roomNotificationState = new RoomNotificationState(room);
|
||||
|
||||
// @ts-ignore ugly mocking
|
||||
roomNotificationState._color = color;
|
||||
roomNotificationState._level = level;
|
||||
jest.spyOn(sdkContext.roomNotificationStateStore, "getRoomState").mockReturnValue(roomNotificationState);
|
||||
return roomNotificationState;
|
||||
};
|
||||
|
@ -105,7 +105,7 @@ describe("<VideoRoomChatButton />", () => {
|
|||
|
||||
it("renders button with an unread marker when room is unread", () => {
|
||||
const room = makeRoom();
|
||||
mockRoomNotificationState(room, NotificationColor.Bold);
|
||||
mockRoomNotificationState(room, NotificationLevel.Activity);
|
||||
getComponent(room);
|
||||
|
||||
// snapshot includes `data-indicator` attribute
|
||||
|
@ -116,14 +116,14 @@ describe("<VideoRoomChatButton />", () => {
|
|||
it("adds unread marker when room notification state changes to unread", () => {
|
||||
const room = makeRoom();
|
||||
// start in read state
|
||||
const notificationState = mockRoomNotificationState(room, NotificationColor.None);
|
||||
const notificationState = mockRoomNotificationState(room, NotificationLevel.None);
|
||||
getComponent(room);
|
||||
|
||||
// no unread marker
|
||||
expect(screen.getByLabelText("Chat").hasAttribute("data-indicator")).toBeFalsy();
|
||||
|
||||
// @ts-ignore ugly mocking
|
||||
notificationState._color = NotificationColor.Red;
|
||||
notificationState._level = NotificationLevel.Highlight;
|
||||
notificationState.emit(NotificationStateEvents.Update);
|
||||
|
||||
// unread marker
|
||||
|
@ -133,14 +133,14 @@ describe("<VideoRoomChatButton />", () => {
|
|||
it("clears unread marker when room notification state changes to read", () => {
|
||||
const room = makeRoom();
|
||||
// start in unread state
|
||||
const notificationState = mockRoomNotificationState(room, NotificationColor.Red);
|
||||
const notificationState = mockRoomNotificationState(room, NotificationLevel.Highlight);
|
||||
getComponent(room);
|
||||
|
||||
// unread marker
|
||||
expect(screen.getByLabelText("Chat").hasAttribute("data-indicator")).toBeTruthy();
|
||||
|
||||
// @ts-ignore ugly mocking
|
||||
notificationState._color = NotificationColor.None;
|
||||
notificationState._level = NotificationLevel.None;
|
||||
notificationState.emit(NotificationStateEvents.Update);
|
||||
|
||||
// unread marker cleared
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue