Files
lucia-frontend/cypress/e2e/accountAdmin/createAccount.cy.js
2026-03-22 09:30:22 +08:00

51 lines
1.7 KiB
JavaScript

// 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");
});
});