74 lines
2.3 KiB
JavaScript
74 lines
2.3 KiB
JavaScript
// The Lucia project.
|
|
// Copyright 2026-2026 DSP, inc. All rights reserved.
|
|
// Authors:
|
|
// imacat.yang@dsp.im (imacat), 2026/03/05
|
|
|
|
import { loginWithFixtures } from "../support/intercept";
|
|
|
|
describe("My Account Page", () => {
|
|
beforeEach(() => {
|
|
loginWithFixtures();
|
|
cy.visit("/my-account");
|
|
cy.wait("@getUserDetail");
|
|
});
|
|
|
|
it("displays user name heading", () => {
|
|
cy.get("#general_acct_info_user_name").should("exist");
|
|
cy.get("#general_acct_info_user_name").should("contain", "Test Admin");
|
|
});
|
|
|
|
it("shows Admin badge for admin user", () => {
|
|
cy.contains("Admin").should("exist");
|
|
});
|
|
|
|
it("shows visit count info", () => {
|
|
cy.get("#general_account_visit_info").should("exist");
|
|
cy.get("#general_account_visit_info").should("contain", "Total visits");
|
|
});
|
|
|
|
it("displays account username (read-only)", () => {
|
|
cy.contains("Test Admin").should("exist");
|
|
});
|
|
|
|
it("shows Edit button for name field", () => {
|
|
cy.contains("button", "Edit").should("exist");
|
|
});
|
|
|
|
it("clicking Edit shows input field and Save/Cancel buttons", () => {
|
|
cy.contains("button", "Edit").first().click();
|
|
cy.get("#input_name_field").should("exist");
|
|
cy.contains("button", "Save").should("exist");
|
|
cy.contains("button", "Cancel").should("exist");
|
|
});
|
|
|
|
it("clicking Cancel reverts name field to read-only", () => {
|
|
cy.contains("button", "Edit").first().click();
|
|
cy.get("#input_name_field").should("exist");
|
|
cy.contains("button", "Cancel").click();
|
|
cy.get("#input_name_field").should("not.exist");
|
|
});
|
|
|
|
it("shows Reset button for password field", () => {
|
|
cy.contains("button", "Reset").should("exist");
|
|
});
|
|
|
|
it("clicking Reset shows password input and Save/Cancel", () => {
|
|
cy.contains("button", "Reset").click();
|
|
cy.get('input[type="password"]').should("exist");
|
|
cy.contains("button", "Save").should("exist");
|
|
cy.contains("button", "Cancel").should("exist");
|
|
});
|
|
|
|
it("clicking Cancel on password field hides the input", () => {
|
|
cy.contains("button", "Reset").click();
|
|
cy.get('input[type="password"]').should("exist");
|
|
// The Cancel button for password is the second one
|
|
cy.get(".cancel-btn").click();
|
|
cy.get('input[type="password"]').should("not.exist");
|
|
});
|
|
|
|
it("shows Session section", () => {
|
|
cy.contains("Session").should("exist");
|
|
});
|
|
});
|