mirror of
https://seed.radicle.dev/rad:z4D5UCArafTzTQpDZNQRuqswh3ury.git
synced 2026-10-18 19:10:45 +08:00
Show alias errors when creating an identity
The errors weren't reactive state, so the hints never rendered.
This commit is contained in:
@@ -16,10 +16,10 @@
|
||||
let notMatchingPassphrases = $state<boolean>();
|
||||
let passphraseRepeat = $state("");
|
||||
let alias = $state("");
|
||||
const errors: { alias: ErrorWrapper[]; passphrase: ErrorWrapper[] } = {
|
||||
const errors = $state<{ alias: ErrorWrapper[]; passphrase: ErrorWrapper[] }>({
|
||||
alias: [],
|
||||
passphrase: [],
|
||||
};
|
||||
});
|
||||
|
||||
const validatePassphraseRepeat = debounce(() => {
|
||||
if (passphrase !== passphraseRepeat && passphraseRepeat.length !== 0) {
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
import { expect, test } from "@tests/support/fixtures.js";
|
||||
|
||||
test("explains why an alias is invalid", async ({ page }) => {
|
||||
await page.route(
|
||||
url => url.pathname === "/startup",
|
||||
route =>
|
||||
route.fulfill({
|
||||
status: 500,
|
||||
json: {
|
||||
code: "IdentityError.MissingProfile",
|
||||
message: "No profile found",
|
||||
},
|
||||
}),
|
||||
);
|
||||
await page.goto("/");
|
||||
|
||||
const alias = page.getByPlaceholder("Enter desired alias");
|
||||
await alias.fill("has space");
|
||||
await expect(
|
||||
page.getByText("Alias cannot contain whitespace."),
|
||||
).toBeVisible();
|
||||
|
||||
await alias.fill("a".repeat(33));
|
||||
await expect(
|
||||
page.getByText("Alias is too long, max 32 characters."),
|
||||
).toBeVisible();
|
||||
await expect(page.getByText("Alias cannot contain whitespace.")).toBeHidden();
|
||||
|
||||
await alias.fill("alice");
|
||||
await expect(
|
||||
page.getByText("Max 32 characters, no whitespace."),
|
||||
).toBeVisible();
|
||||
});
|
||||
Reference in New Issue
Block a user