Apply prettier formatting

This commit is contained in:
Michael Weimann 2022-12-12 12:24:14 +01:00
parent 1cac306093
commit 526645c791
No known key found for this signature in database
GPG key ID: 53F535A266BB9584
1576 changed files with 65385 additions and 62478 deletions

View file

@ -17,40 +17,38 @@ limitations under the License.
import { EventStatus } from "matrix-js-sdk/src/matrix";
import { IRoomState } from "../../../../../../src/components/structures/RoomView";
import { editMessage, sendMessage }
from "../../../../../../src/components/views/rooms/wysiwyg_composer/utils/message";
import { editMessage, sendMessage } from "../../../../../../src/components/views/rooms/wysiwyg_composer/utils/message";
import { createTestClient, getRoomContext, mkEvent, mkStubRoom } from "../../../../../test-utils";
import defaultDispatcher from "../../../../../../src/dispatcher/dispatcher";
import SettingsStore from "../../../../../../src/settings/SettingsStore";
import { SettingLevel } from "../../../../../../src/settings/SettingLevel";
import { RoomPermalinkCreator } from "../../../../../../src/utils/permalinks/Permalinks";
import EditorStateTransfer from "../../../../../../src/utils/EditorStateTransfer";
import * as ConfirmRedactDialog
from "../../../../../../src/components/views/dialogs/ConfirmRedactDialog";
import * as ConfirmRedactDialog from "../../../../../../src/components/views/dialogs/ConfirmRedactDialog";
describe('message', () => {
describe("message", () => {
const permalinkCreator = {
forEvent(eventId: string): string {
return "$$permalink$$";
},
} as RoomPermalinkCreator;
const message = '<i><b>hello</b> world</i>';
const message = "<i><b>hello</b> world</i>";
const mockEvent = mkEvent({
type: "m.room.message",
room: 'myfakeroom',
user: 'myfakeuser',
room: "myfakeroom",
user: "myfakeuser",
content: {
"msgtype": "m.text",
"body": "Replying to this",
"format": 'org.matrix.custom.html',
"formatted_body": 'Replying to this',
msgtype: "m.text",
body: "Replying to this",
format: "org.matrix.custom.html",
formatted_body: "Replying to this",
},
event: true,
});
const mockClient = createTestClient();
const mockRoom = mkStubRoom('myfakeroom', 'myfakeroom', mockClient) as any;
mockRoom.findEventById = jest.fn(eventId => {
const mockRoom = mkStubRoom("myfakeroom", "myfakeroom", mockClient) as any;
mockRoom.findEventById = jest.fn((eventId) => {
return eventId === mockEvent.getId() ? mockEvent : null;
});
@ -62,41 +60,41 @@ describe('message', () => {
jest.resetAllMocks();
});
describe('sendMessage', () => {
it('Should not send empty html message', async () => {
describe("sendMessage", () => {
it("Should not send empty html message", async () => {
// When
await sendMessage('', true, { roomContext: defaultRoomContext, mxClient: mockClient, permalinkCreator });
await sendMessage("", true, { roomContext: defaultRoomContext, mxClient: mockClient, permalinkCreator });
// Then
expect(mockClient.sendMessage).toBeCalledTimes(0);
expect(spyDispatcher).toBeCalledTimes(0);
});
it('Should send html message', async () => {
it("Should send html message", async () => {
// When
await sendMessage(
message,
true,
{ roomContext: defaultRoomContext, mxClient: mockClient, permalinkCreator },
);
await sendMessage(message, true, {
roomContext: defaultRoomContext,
mxClient: mockClient,
permalinkCreator,
});
// Then
const expectedContent = {
"body": "hello world",
"format": "org.matrix.custom.html",
"formatted_body": "<i><b>hello</b> world</i>",
"msgtype": "m.text",
body: "hello world",
format: "org.matrix.custom.html",
formatted_body: "<i><b>hello</b> world</i>",
msgtype: "m.text",
};
expect(mockClient.sendMessage).toBeCalledWith('myfakeroom', null, expectedContent);
expect(spyDispatcher).toBeCalledWith({ action: 'message_sent' });
expect(mockClient.sendMessage).toBeCalledWith("myfakeroom", null, expectedContent);
expect(spyDispatcher).toBeCalledWith({ action: "message_sent" });
});
it('Should send reply to html message', async () => {
it("Should send reply to html message", async () => {
const mockReplyEvent = mkEvent({
type: "m.room.message",
room: 'myfakeroom',
user: 'myfakeuser2',
content: { "msgtype": "m.text", "body": "My reply" },
room: "myfakeroom",
user: "myfakeuser2",
content: { msgtype: "m.text", body: "My reply" },
event: true,
});
@ -110,7 +108,7 @@ describe('message', () => {
// Then
expect(spyDispatcher).toBeCalledWith({
action: 'reply_to_event',
action: "reply_to_event",
event: null,
context: defaultRoomContext.timelineRenderingType,
});
@ -118,75 +116,71 @@ describe('message', () => {
const expectedContent = {
"body": "> <myfakeuser2> My reply\n\nhello world",
"format": "org.matrix.custom.html",
"formatted_body": "<mx-reply><blockquote><a href=\"$$permalink$$\">In reply to</a>" +
" <a href=\"https://matrix.to/#/myfakeuser2\">myfakeuser2</a>" +
"<br>My reply</blockquote></mx-reply><i><b>hello</b> world</i>",
"formatted_body":
'<mx-reply><blockquote><a href="$$permalink$$">In reply to</a>' +
' <a href="https://matrix.to/#/myfakeuser2">myfakeuser2</a>' +
"<br>My reply</blockquote></mx-reply><i><b>hello</b> world</i>",
"msgtype": "m.text",
"m.relates_to": {
"m.in_reply_to": {
"event_id": mockReplyEvent.getId(),
event_id: mockReplyEvent.getId(),
},
},
};
expect(mockClient.sendMessage).toBeCalledWith('myfakeroom', null, expectedContent);
expect(mockClient.sendMessage).toBeCalledWith("myfakeroom", null, expectedContent);
});
it('Should scroll to bottom after sending a html message', async () => {
it("Should scroll to bottom after sending a html message", async () => {
// When
SettingsStore.setValue("scrollToBottomOnMessageSent", null, SettingLevel.DEVICE, true);
await sendMessage(
message,
true,
{ roomContext: defaultRoomContext, mxClient: mockClient, permalinkCreator },
);
await sendMessage(message, true, {
roomContext: defaultRoomContext,
mxClient: mockClient,
permalinkCreator,
});
// Then
expect(spyDispatcher).toBeCalledWith(
{ action: 'scroll_to_bottom', timelineRenderingType: defaultRoomContext.timelineRenderingType },
);
expect(spyDispatcher).toBeCalledWith({
action: "scroll_to_bottom",
timelineRenderingType: defaultRoomContext.timelineRenderingType,
});
});
it('Should handle emojis', async () => {
it("Should handle emojis", async () => {
// When
await sendMessage(
'🎉',
false,
{ roomContext: defaultRoomContext, mxClient: mockClient, permalinkCreator },
);
await sendMessage("🎉", false, { roomContext: defaultRoomContext, mxClient: mockClient, permalinkCreator });
// Then
expect(spyDispatcher).toBeCalledWith(
{ action: 'effects.confetti' },
);
expect(spyDispatcher).toBeCalledWith({ action: "effects.confetti" });
});
});
describe('editMessage', () => {
describe("editMessage", () => {
const editorStateTransfer = new EditorStateTransfer(mockEvent);
it('Should cancel editing and ask for event removal when message is empty', async () => {
it("Should cancel editing and ask for event removal when message is empty", async () => {
// When
const mockCreateRedactEventDialog = jest.spyOn(ConfirmRedactDialog, 'createRedactEventDialog');
const mockCreateRedactEventDialog = jest.spyOn(ConfirmRedactDialog, "createRedactEventDialog");
const mockEvent = mkEvent({
type: "m.room.message",
room: 'myfakeroom',
user: 'myfakeuser',
content: { "msgtype": "m.text", "body": "Replying to this" },
room: "myfakeroom",
user: "myfakeuser",
content: { msgtype: "m.text", body: "Replying to this" },
event: true,
});
const replacingEvent = mkEvent({
type: "m.room.message",
room: 'myfakeroom',
user: 'myfakeuser',
content: { "msgtype": "m.text", "body": "ReplacingEvent" },
room: "myfakeroom",
user: "myfakeuser",
content: { msgtype: "m.text", body: "ReplacingEvent" },
event: true,
});
replacingEvent.setStatus(EventStatus.QUEUED);
mockEvent.makeReplaced(replacingEvent);
const editorStateTransfer = new EditorStateTransfer(mockEvent);
await editMessage('', { roomContext: defaultRoomContext, mxClient: mockClient, editorStateTransfer });
await editMessage("", { roomContext: defaultRoomContext, mxClient: mockClient, editorStateTransfer });
// Then
expect(mockClient.sendMessage).toBeCalledTimes(0);
@ -195,22 +189,26 @@ describe('message', () => {
expect(spyDispatcher).toBeCalledTimes(0);
});
it('Should do nothing if the content is unmodified', async () => {
it("Should do nothing if the content is unmodified", async () => {
// When
await editMessage(
mockEvent.getContent().body,
{ roomContext: defaultRoomContext, mxClient: mockClient, editorStateTransfer });
await editMessage(mockEvent.getContent().body, {
roomContext: defaultRoomContext,
mxClient: mockClient,
editorStateTransfer,
});
// Then
expect(mockClient.sendMessage).toBeCalledTimes(0);
});
it('Should send a message when the content is modified', async () => {
it("Should send a message when the content is modified", async () => {
// When
const newMessage = `${mockEvent.getContent().body} new content`;
await editMessage(
newMessage,
{ roomContext: defaultRoomContext, mxClient: mockClient, editorStateTransfer });
await editMessage(newMessage, {
roomContext: defaultRoomContext,
mxClient: mockClient,
editorStateTransfer,
});
// Then
const { msgtype, format } = mockEvent.getContent();
@ -218,20 +216,20 @@ describe('message', () => {
"body": ` * ${newMessage}`,
"formatted_body": ` * ${newMessage}`,
"m.new_content": {
"body": "Replying to this new content",
"format": "org.matrix.custom.html",
"formatted_body": "Replying to this new content",
"msgtype": "m.text",
body: "Replying to this new content",
format: "org.matrix.custom.html",
formatted_body: "Replying to this new content",
msgtype: "m.text",
},
"m.relates_to": {
"event_id": mockEvent.getId(),
"rel_type": "m.replace",
event_id: mockEvent.getId(),
rel_type: "m.replace",
},
msgtype,
format,
};
expect(mockClient.sendMessage).toBeCalledWith(mockEvent.getRoomId(), null, expectedContent);
expect(spyDispatcher).toBeCalledWith({ action: 'message_sent' });
expect(spyDispatcher).toBeCalledWith({ action: "message_sent" });
});
});
});