Deflakey threads cypress test (#10632)

`inviteUser` is asynchronous so you can't just call it and plough straight on.

Also some logging improvements which helped debug this
This commit is contained in:
Richard van der Hoff 2023-04-18 11:17:46 +01:00 committed by GitHub
parent ac2855789f
commit e350b4c2c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 15 deletions

View file

@ -31,7 +31,6 @@ describe("Threads", () => {
});
cy.startHomeserver("default").then((data) => {
homeserver = data;
cy.initTestUser(homeserver, "Tom");
});
});
@ -50,12 +49,15 @@ describe("Threads", () => {
});
let roomId: string;
cy.createRoom({}).then((_roomId) => {
roomId = _roomId;
cy.inviteUser(roomId, bot.getUserId());
bot.joinRoom(roomId);
cy.visit("/#/room/" + roomId);
});
cy.createRoom({})
.then((_roomId) => {
roomId = _roomId;
return cy.inviteUser(roomId, bot.getUserId());
})
.then(async () => {
await bot.joinRoom(roomId);
cy.visit("/#/room/" + roomId);
});
// Around 200 characters
const MessageLong =
@ -407,12 +409,15 @@ describe("Threads", () => {
});
let roomId: string;
cy.createRoom({}).then((_roomId) => {
roomId = _roomId;
cy.inviteUser(roomId, bot.getUserId());
bot.joinRoom(roomId);
cy.visit("/#/room/" + roomId);
});
cy.createRoom({})
.then((_roomId) => {
roomId = _roomId;
return cy.inviteUser(roomId, bot.getUserId());
})
.then(async () => {
await bot.joinRoom(roomId);
cy.visit("/#/room/" + roomId);
});
// Exclude timestamp, read marker, and mapboxgl-map from snapshots
const percyCSS =

View file

@ -174,7 +174,9 @@ Cypress.Commands.add("createSpace", (options: ICreateRoomOpts): Chainable<string
Cypress.Commands.add("inviteUser", (roomId: string, userId: string): Chainable<{}> => {
return cy.getClient().then(async (cli: MatrixClient) => {
return cli.invite(roomId, userId);
const res = await cli.invite(roomId, userId);
Cypress.log({ name: "inviteUser", message: `sent invite in ${roomId} for ${userId}` });
return res;
});
});

View file

@ -58,7 +58,9 @@ declare global {
function startHomeserver(template: string): Chainable<HomeserverInstance> {
const homeserverName = Cypress.env("HOMESERVER");
return cy.task<HomeserverInstance>(homeserverName + "Start", template);
return cy.task<HomeserverInstance>(homeserverName + "Start", template, { log: false }).then((x) => {
Cypress.log({ name: "startHomeserver", message: `Started homeserver instance ${x.serverId}` });
});
}
function stopHomeserver(homeserver?: HomeserverInstance): Chainable<AUTWindow> {