});
Cypress.Commands.add("loginAs", user => {
+ // This shouldn't be necessary unless we need to call loginAs multiple times
+ // in the same test.
cy.clearCookies();
- cy.clearLocalStorage();
+ cy.clearAllLocalStorage();
+ cy.clearAllSessionStorage();
cy.visit(`/token/?api_token=${user.token}`);
// Use waitUntil to avoid permafail race conditions with window.location being undefined
cy.waitUntil(() => cy.window().then(win =>
win?.location?.href &&
win.location.href.includes("/projects/")
), { timeout: 15000 });
+ // Wait for page to settle before getting elements
+ cy.waitForDom();
cy.get("div#root").should("contain", "Arvados Workbench (zzzzz)");
cy.get("div#root").should("not.contain", "Your account is inactive");
});