mirror of https://github.com/vector-im/riot-web
Cypress: workaround for EventTile being remounted (#10961)
(Hopefully) fixes https://github.com/vector-im/element-web/issues/25417pull/28788/head^2
parent
f9e99ed302
commit
7c34d66bde
|
@ -333,30 +333,33 @@ describe("Audio player", () => {
|
||||||
|
|
||||||
// On a thread
|
// On a thread
|
||||||
cy.get(".mx_ThreadView").within(() => {
|
cy.get(".mx_ThreadView").within(() => {
|
||||||
cy.get(".mx_EventTile_last")
|
cy.get(".mx_EventTile_last").within(() => {
|
||||||
.within(() => {
|
// Assert that the player is correctly rendered on a thread
|
||||||
// Assert that the player is correctly rendered on a thread
|
cy.get(".mx_EventTile_mediaLine .mx_MAudioBody .mx_AudioPlayer_container").within(() => {
|
||||||
cy.get(".mx_EventTile_mediaLine .mx_MAudioBody .mx_AudioPlayer_container").within(() => {
|
// Assert that the counter is zero before clicking the play button
|
||||||
// Assert that the counter is zero before clicking the play button
|
cy.contains(".mx_AudioPlayer_seek [role='timer']", "00:00").should("exist");
|
||||||
cy.contains(".mx_AudioPlayer_seek [role='timer']", "00:00").should("exist");
|
|
||||||
|
|
||||||
// Find and click "Play" button, the wait is to make the test less flaky
|
// Find and click "Play" button, the wait is to make the test less flaky
|
||||||
cy.findByRole("button", { name: "Play" }).should("exist");
|
cy.findByRole("button", { name: "Play" }).should("exist");
|
||||||
cy.wait(500).findByRole("button", { name: "Play" }).click();
|
cy.wait(500).findByRole("button", { name: "Play" }).click();
|
||||||
|
|
||||||
// Assert that "Pause" button can be found
|
// Assert that "Pause" button can be found
|
||||||
cy.findByRole("button", { name: "Pause" }).should("exist");
|
cy.findByRole("button", { name: "Pause" }).should("exist");
|
||||||
|
|
||||||
// Assert that the timer is reset when the audio file finished playing
|
// Assert that the timer is reset when the audio file finished playing
|
||||||
cy.contains(".mx_AudioPlayer_seek [role='timer']", "00:00").should("exist");
|
cy.contains(".mx_AudioPlayer_seek [role='timer']", "00:00").should("exist");
|
||||||
|
|
||||||
// Assert that "Play" button can be found
|
// Assert that "Play" button can be found
|
||||||
cy.findByRole("button", { name: "Play" }).should("exist").should("not.have.attr", "disabled");
|
cy.findByRole("button", { name: "Play" }).should("exist").should("not.have.attr", "disabled");
|
||||||
});
|
});
|
||||||
})
|
});
|
||||||
.realHover()
|
|
||||||
.findByRole("button", { name: "Reply" })
|
// Find and click "Reply" button
|
||||||
.click(); // Find and click "Reply" button
|
//
|
||||||
|
// Calling cy.get(".mx_EventTile_last") again here is a workaround for
|
||||||
|
// https://github.com/matrix-org/matrix-js-sdk/issues/3394: the event tile may have been re-mounted while
|
||||||
|
// the audio was playing.
|
||||||
|
cy.get(".mx_EventTile_last").realHover().findByRole("button", { name: "Reply" }).click();
|
||||||
|
|
||||||
cy.get(".mx_MessageComposer--compact").within(() => {
|
cy.get(".mx_MessageComposer--compact").within(() => {
|
||||||
// Assert that the reply preview is rendered on the message composer
|
// Assert that the reply preview is rendered on the message composer
|
||||||
|
|
Loading…
Reference in New Issue