Add Cypress test for outfit with items

This commit is contained in:
Emi Matchu 2021-04-20 02:32:42 -07:00
parent c64f542829
commit 3bb0c5e5a0
2 changed files with 30 additions and 6 deletions

View file

@ -1,12 +1,12 @@
import * as page from "./page"; import * as page from "./page";
describe("WardrobePage: Outfit saving", () => { describe("WardrobePage: Outfit saving", () => {
it("Saves a basic outfit", () => { it("Saves a simple Blue Acara", () => {
cy.logInAs("dti-test"); cy.logInAs("dti-test");
cy.visit("/outfits/new?species=1&color=8"); cy.visit("/outfits/new?species=1&color=8");
// Give the outfit a unique timestamped name // Give the outfit a unique timestamped name
const outfitName = `Cypress Test Outfit: ${new Date().toISOString()}`; const outfitName = `Cypress Test - Blue Acara - ${new Date().toISOString()}`;
page.getOutfitName({ timeout: 12000 }).click(); page.getOutfitName({ timeout: 12000 }).click();
cy.focused().type(outfitName + "{enter}"); cy.focused().type(outfitName + "{enter}");
@ -15,10 +15,34 @@ describe("WardrobePage: Outfit saving", () => {
// Wait for the outfit to stop saving, and check that it redirected and // Wait for the outfit to stop saving, and check that it redirected and
// still shows the correct outfit preview and name. // still shows the correct outfit preview and name.
page cy.location("pathname", { timeout: 12000 }).should(
.getSaveOutfitButton({ timeout: 12000 }) "match",
.should("not.have.attr", "data-loading"); /^\/outfits\/[0-9]+$/
cy.location("pathname").should("match", /^\/outfits\/[0-9]+$/); );
page.getOutfitName().should("have.text", outfitName);
page.getOutfitPreview().toMatchImageSnapshot();
});
it("Saves a Zafara Tourist with worn and closeted items", () => {
cy.logInAs("dti-test");
cy.visit(
"/outfits/new?species=54&color=34&pose=HAPPY_FEM&objects%5B%5D=38916&objects%5B%5D=51054&objects%5B%5D=38914&closet%5B%5D=36125&closet%5B%5D=36467&closet%5B%5D=47075&closet%5B%5D=47056&closet%5B%5D=39662&closet%5B%5D=56706&closet%5B%5D=38915&closet%5B%5D=56398"
);
// Give the outfit a unique timestamped name
const outfitName = `Cypress Test - Zafara Tourist - ${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.
cy.location("pathname", { timeout: 12000 }).should(
"match",
/^\/outfits\/[0-9]+$/
);
page.getOutfitName().should("have.text", outfitName); page.getOutfitName().should("have.text", outfitName);
page.getOutfitPreview().toMatchImageSnapshot(); page.getOutfitPreview().toMatchImageSnapshot();
}); });