Remove feature_favourite_messages
as it is has been abandoned for now (#11097)
* Remove `feature_favourite_messages` as it is has been abandoned for now * i18n * Fix test * Remove unused css
This commit is contained in:
parent
386a459b9f
commit
cb2b1718ff
7 changed files with 3 additions and 219 deletions
|
@ -433,88 +433,7 @@ describe("<MessageActionBar />", () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe("favourite button", () => {
|
||||
//for multiple event usecase
|
||||
const favButton = (evt: MatrixEvent) => {
|
||||
return getComponent({ mxEvent: evt }).getByTestId(evt.getId()!);
|
||||
};
|
||||
|
||||
describe("when favourite_messages feature is enabled", () => {
|
||||
beforeEach(() => {
|
||||
jest.spyOn(SettingsStore, "getValue").mockImplementation(
|
||||
(setting) => setting === "feature_favourite_messages",
|
||||
);
|
||||
localStorageMock.clear();
|
||||
});
|
||||
|
||||
it("renders favourite button on own actionable event", () => {
|
||||
const { queryByLabelText } = getComponent({ mxEvent: alicesMessageEvent });
|
||||
expect(queryByLabelText("Favourite")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("renders favourite button on other actionable events", () => {
|
||||
const { queryByLabelText } = getComponent({ mxEvent: bobsMessageEvent });
|
||||
expect(queryByLabelText("Favourite")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("does not render Favourite button on non-actionable event", () => {
|
||||
//redacted event is not actionable
|
||||
const { queryByLabelText } = getComponent({ mxEvent: redactedEvent });
|
||||
expect(queryByLabelText("Favourite")).toBeFalsy();
|
||||
});
|
||||
|
||||
it("remembers favourited state of multiple events, and handles the localStorage of the events accordingly", () => {
|
||||
const alicesAction = favButton(alicesMessageEvent);
|
||||
const bobsAction = favButton(bobsMessageEvent);
|
||||
|
||||
//default state before being clicked
|
||||
expect(alicesAction.classList).not.toContain("mx_MessageActionBar_favouriteButton_fillstar");
|
||||
expect(bobsAction.classList).not.toContain("mx_MessageActionBar_favouriteButton_fillstar");
|
||||
expect(localStorageMock.getItem("io_element_favouriteMessages")).toBeNull();
|
||||
|
||||
//if only alice's event is fired
|
||||
fireEvent.click(alicesAction);
|
||||
|
||||
expect(alicesAction.classList).toContain("mx_MessageActionBar_favouriteButton_fillstar");
|
||||
expect(bobsAction.classList).not.toContain("mx_MessageActionBar_favouriteButton_fillstar");
|
||||
expect(localStorageMock.setItem).toHaveBeenCalledWith(
|
||||
"io_element_favouriteMessages",
|
||||
'["$alices_message"]',
|
||||
);
|
||||
|
||||
//when bob's event is fired,both should be styled and stored in localStorage
|
||||
fireEvent.click(bobsAction);
|
||||
|
||||
expect(alicesAction.classList).toContain("mx_MessageActionBar_favouriteButton_fillstar");
|
||||
expect(bobsAction.classList).toContain("mx_MessageActionBar_favouriteButton_fillstar");
|
||||
expect(localStorageMock.setItem).toHaveBeenCalledWith(
|
||||
"io_element_favouriteMessages",
|
||||
'["$alices_message","$bobs_message"]',
|
||||
);
|
||||
|
||||
//finally, at this point the localStorage should contain the two eventids
|
||||
expect(localStorageMock.getItem("io_element_favouriteMessages")).toEqual(
|
||||
'["$alices_message","$bobs_message"]',
|
||||
);
|
||||
|
||||
//if decided to unfavourite bob's event by clicking again
|
||||
fireEvent.click(bobsAction);
|
||||
expect(bobsAction.classList).not.toContain("mx_MessageActionBar_favouriteButton_fillstar");
|
||||
expect(alicesAction.classList).toContain("mx_MessageActionBar_favouriteButton_fillstar");
|
||||
expect(localStorageMock.getItem("io_element_favouriteMessages")).toEqual('["$alices_message"]');
|
||||
});
|
||||
});
|
||||
|
||||
describe("when favourite_messages feature is disabled", () => {
|
||||
it("does not render", () => {
|
||||
jest.spyOn(SettingsStore, "getValue").mockReturnValue(false);
|
||||
const { queryByLabelText } = getComponent({ mxEvent: alicesMessageEvent });
|
||||
expect(queryByLabelText("Favourite")).toBeFalsy();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it.each([["React"], ["Reply"], ["Reply in thread"], ["Favourite"], ["Edit"]])(
|
||||
it.each([["React"], ["Reply"], ["Reply in thread"], ["Edit"]])(
|
||||
"does not show context menu when right-clicking",
|
||||
(buttonLabel: string) => {
|
||||
// For favourite button
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue