Add a test to check whether ReadReceiptGroup exists on ThreadView in the bubble layout (#10284)
This commit is contained in:
parent
727afdc33a
commit
4f5a65f548
1 changed files with 35 additions and 2 deletions
|
@ -18,6 +18,8 @@ limitations under the License.
|
||||||
|
|
||||||
import { HomeserverInstance } from "../../plugins/utils/homeserver";
|
import { HomeserverInstance } from "../../plugins/utils/homeserver";
|
||||||
import { MatrixClient } from "../../global";
|
import { MatrixClient } from "../../global";
|
||||||
|
import { SettingLevel } from "../../../src/settings/SettingLevel";
|
||||||
|
import { Layout } from "../../../src/settings/enums/Layout";
|
||||||
|
|
||||||
describe("Threads", () => {
|
describe("Threads", () => {
|
||||||
let homeserver: HomeserverInstance;
|
let homeserver: HomeserverInstance;
|
||||||
|
@ -54,6 +56,11 @@ describe("Threads", () => {
|
||||||
cy.visit("/#/room/" + roomId);
|
cy.visit("/#/room/" + roomId);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Around 200 characters
|
||||||
|
const MessageLong =
|
||||||
|
"Hello there. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt " +
|
||||||
|
"ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi";
|
||||||
|
|
||||||
// --MessageTimestamp-color = #acacac = rgb(172, 172, 172)
|
// --MessageTimestamp-color = #acacac = rgb(172, 172, 172)
|
||||||
// See: _MessageTimestamp.pcss
|
// See: _MessageTimestamp.pcss
|
||||||
const MessageTimestampColor = "rgb(172, 172, 172)";
|
const MessageTimestampColor = "rgb(172, 172, 172)";
|
||||||
|
@ -76,7 +83,8 @@ describe("Threads", () => {
|
||||||
// Bot starts thread
|
// Bot starts thread
|
||||||
cy.get<string>("@threadId").then((threadId) => {
|
cy.get<string>("@threadId").then((threadId) => {
|
||||||
bot.sendMessage(roomId, threadId, {
|
bot.sendMessage(roomId, threadId, {
|
||||||
body: "Hello there",
|
// Send a message long enough to be wrapped to check if avatars inside the ReadReceiptGroup are visible
|
||||||
|
body: MessageLong,
|
||||||
msgtype: "m.text",
|
msgtype: "m.text",
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -86,11 +94,36 @@ describe("Threads", () => {
|
||||||
cy.get(".mx_RoomView_body .mx_ThreadSummary .mx_ThreadSummary_content").should("contain", "Hello there");
|
cy.get(".mx_RoomView_body .mx_ThreadSummary .mx_ThreadSummary_content").should("contain", "Hello there");
|
||||||
cy.get(".mx_RoomView_body .mx_ThreadSummary").click();
|
cy.get(".mx_RoomView_body .mx_ThreadSummary").click();
|
||||||
|
|
||||||
|
cy.get(".mx_ThreadView .mx_EventTile[data-layout='group'].mx_EventTile_last").within(() => {
|
||||||
|
// Wait until the messages are rendered
|
||||||
|
cy.get(".mx_EventTile_line .mx_MTextBody").should("have.text", MessageLong);
|
||||||
|
|
||||||
|
// Make sure the avatar inside ReadReceiptGroup is visible on the group layout
|
||||||
|
cy.get(".mx_ReadReceiptGroup .mx_BaseAvatar_image").should("be.visible");
|
||||||
|
});
|
||||||
|
|
||||||
|
// Enable the bubble layout
|
||||||
|
cy.setSettingValue("layout", null, SettingLevel.DEVICE, Layout.Bubble);
|
||||||
|
|
||||||
|
cy.get(".mx_ThreadView .mx_EventTile[data-layout='bubble'].mx_EventTile_last").within(() => {
|
||||||
|
// TODO: remove this after fixing the issue of ReadReceiptGroup being hidden on the bubble layout
|
||||||
|
// See: https://github.com/vector-im/element-web/issues/23569
|
||||||
|
cy.get(".mx_ReadReceiptGroup .mx_BaseAvatar_image").should("exist");
|
||||||
|
|
||||||
|
// Make sure the avatar inside ReadReceiptGroup is visible on bubble layout
|
||||||
|
// TODO: enable this after fixing the issue of ReadReceiptGroup being hidden on the bubble layout
|
||||||
|
// See: https://github.com/vector-im/element-web/issues/23569
|
||||||
|
// cy.get(".mx_ReadReceiptGroup .mx_BaseAvatar_image").should("be.visible");
|
||||||
|
});
|
||||||
|
|
||||||
|
// Re-enable the group layout
|
||||||
|
cy.setSettingValue("layout", null, SettingLevel.DEVICE, Layout.Group);
|
||||||
|
|
||||||
// User responds in thread
|
// User responds in thread
|
||||||
cy.get(".mx_ThreadView .mx_BasicMessageComposer_input").type("Test{enter}");
|
cy.get(".mx_ThreadView .mx_BasicMessageComposer_input").type("Test{enter}");
|
||||||
|
|
||||||
// Check the colour of timestamp on EventTile in a thread (mx_ThreadView)
|
// Check the colour of timestamp on EventTile in a thread (mx_ThreadView)
|
||||||
cy.get(".mx_ThreadView .mx_EventTile_last .mx_EventTile_line .mx_MessageTimestamp").should(
|
cy.get(".mx_ThreadView .mx_EventTile_last[data-layout='group'] .mx_EventTile_line .mx_MessageTimestamp").should(
|
||||||
"have.css",
|
"have.css",
|
||||||
"color",
|
"color",
|
||||||
MessageTimestampColor,
|
MessageTimestampColor,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue