// The Lucia project. // Copyright 2024-2026 DSP, inc. All rights reserved. // Authors: // cindy.chang@dsp.im (Cindy Chang), 2024/07/02 // imacat.yang@dsp.im (imacat), 2026/03/05 import { loginWithFixtures } from "../../support/intercept"; describe("Create an Account", () => { beforeEach(() => { loginWithFixtures(); cy.visit("/account-admin"); cy.contains("Test Admin").should("exist"); // Override: new usernames should return 404 (account doesn't exist yet) cy.window().then((win) => { const { http, HttpResponse } = win.__msw__; win.__mswWorker__.use( http.get("/api/users/:username", ({ params }) => { if (params.username.startsWith("unit-test-")) { return HttpResponse.json( { detail: "Not found" }, { status: 404 }, ); } }), ); }); }); it("Create a new account with admin role; should show saved message.", () => { cy.contains("button", "Create New").should("be.visible").click(); cy.get("#input_account_field").type("unit-test-0001"); cy.get("#input_name_field").type("unit-test-0001"); cy.get("#input_first_pwd").type("aaaaaa"); cy.get(".checkbox-and-text").first().find("div").first().click(); cy.contains("button", "Confirm") .should("be.visible") .and("be.enabled") .click(); cy.contains("Account added").should("be.visible"); }); it("Confirm button is disabled when required fields are empty.", () => { cy.contains("button", "Create New").should("be.visible").click(); cy.get("#input_account_field").type("test"); cy.contains("button", "Confirm").should("be.disabled"); }); });