|
- const getLogin = () => cy.get("#login");
- const getLowercase = () => cy.get("#options #lowercase__btn");
- const getUppercase = () => cy.get("#options #uppercase__btn");
- const getNumbers = () => cy.get("#options #numbers__btn");
- const getSymbols = () => cy.get("#options #symbols__btn");
- const getLength = () => cy.get("#options #passwordLength");
- const getCounter = () => cy.get("#options #passwordCounter");
- const getBaseURL = () => cy.get("#baseURL");
- const encryptMasterPassword = () => cy.get("#encryptMasterPassword");
-
- describe("Settings", function() {
- it("should start with default values", () => {
- cy.visit("/#/settings");
- getLogin().should("have.value", "");
- getLowercase().should("be.checked");
- getUppercase().should("be.checked");
- getNumbers().should("be.checked");
- getSymbols().should("be.checked");
- getLength().should("have.value", "16");
- getCounter().should("have.value", "1");
- getBaseURL().should("have.value", "https://api.lesspass.com");
- encryptMasterPassword().should("be.checked");
- });
-
- it("should redirect to the home page when saving", () => {
- cy.visit("/#/settings");
- cy.get("#btn-submit-settings").click();
- cy.location().should(location => {
- expect(location.pathname).to.eq("/");
- });
- });
-
- it("should update the password generator page after changing the settings", () => {
- cy.visit("/#/settings");
- getLogin()
- .clear()
- .type("New login");
- getLowercase().click();
- getUppercase().click();
- getNumbers().click();
- getSymbols().click();
- getLength()
- .clear()
- .type("5");
- getCounter()
- .clear()
- .type("2");
- cy.get("#btn-submit-settings").click();
- getLogin().should("have.value", "New login");
- getLowercase().should("not.be.checked");
- getUppercase().should("not.be.checked");
- getNumbers().should("not.be.checked");
- getSymbols().should("not.be.checked");
- getLength().should("have.value", "5");
- getCounter().should("have.value", "2");
- });
-
- it("should still show the saved settings when going back to the settings page", () => {
- cy.visit("/#/settings");
- getLogin()
- .clear()
- .type("New login");
- getLowercase().click();
- getUppercase().click();
- getNumbers().click();
- getSymbols().click();
- getLength()
- .clear()
- .type("5");
- getCounter()
- .clear()
- .type("2");
- getBaseURL()
- .clear()
- .type("https://api.example.org");
- encryptMasterPassword().click();
- cy.get("#btn-submit-settings").click();
- cy.visit("/#/settings");
- getLogin().should("have.value", "New login");
- getLowercase().should("not.be.checked");
- getUppercase().should("not.be.checked");
- getNumbers().should("not.be.checked");
- getSymbols().should("not.be.checked");
- getLength().should("have.value", "5");
- getCounter().should("have.value", "2");
- getBaseURL().should("have.value", "https://api.example.org");
- encryptMasterPassword().should("not.be.checked");
- });
- });
|