impress-2020/cypress/integration/WardrobePage/Outfit saving.spec.js

26 lines
943 B
JavaScript
Raw Normal View History

import * as page from "./page";
describe("WardrobePage: Outfit saving", () => {
it("Saves a basic outfit", () => {
cy.logInAs("dti-test");
cy.visit("/outfits/new?species=1&color=8");
// Give the outfit a unique timestamped name
const outfitName = `Cypress Test Outfit: ${new Date().toISOString()}`;
page.getOutfitName({ timeout: 12000 }).click();
cy.focused().type(outfitName + "{enter}");
// Save the outfit
page.getSaveOutfitButton().click().should("have.attr", "data-loading");
// Wait for the outfit to stop saving, and check that it redirected and
// still shows the correct outfit preview and name.
page
.getSaveOutfitButton({ timeout: 12000 })
.should("not.have.attr", "data-loading");
cy.location("pathname").should("match", /^\/outfits\/[0-9]+$/);
page.getOutfitName().should("have.text", outfitName);
page.getOutfitPreview().toMatchImageSnapshot();
});
});