fix(panel): LuckPerms 撤销失败提示改为“撤销失败:原因”
This commit is contained in:
4 files changed
+21
-3
No files matched your search
@@ -201,7 +201,7 @@
|
|||||||
"luckperms_revert_unknown": "Can't revert: value unknown",
|
"luckperms_revert_unknown": "Can't revert: value unknown",
|
||||||
"luckperms_remove_group": "Remove group {{group}}",
|
"luckperms_remove_group": "Remove group {{group}}",
|
||||||
"luckperms_remove_perm": "Remove permission {{node}}",
|
"luckperms_remove_perm": "Remove permission {{node}}",
|
||||||
"luckperms_reverting": "Reverting...",
|
"luckperms_revert_failed": "Couldn't revert: {{reason}}",
|
||||||
"luckperms_revert_success": "Action reverted successfully!",
|
"luckperms_revert_success": "Action reverted successfully!",
|
||||||
"luckperms_presets": "Presets",
|
"luckperms_presets": "Presets",
|
||||||
"luckperms_no_parent_groups": "No parent groups assigned",
|
"luckperms_no_parent_groups": "No parent groups assigned",
|
||||||
|
|||||||
@@ -201,7 +201,7 @@
|
|||||||
"luckperms_revert_unknown": "无法撤销:原值未知",
|
"luckperms_revert_unknown": "无法撤销:原值未知",
|
||||||
"luckperms_remove_group": "移除权限组 {{group}}",
|
"luckperms_remove_group": "移除权限组 {{group}}",
|
||||||
"luckperms_remove_perm": "移除权限 {{node}}",
|
"luckperms_remove_perm": "移除权限 {{node}}",
|
||||||
"luckperms_reverting": "正在撤销...",
|
"luckperms_revert_failed": "撤销失败:{{reason}}",
|
||||||
"luckperms_revert_success": "已成功撤销该操作!",
|
"luckperms_revert_success": "已成功撤销该操作!",
|
||||||
"luckperms_presets": "预设",
|
"luckperms_presets": "预设",
|
||||||
"luckperms_no_parent_groups": "未分配任何父组",
|
"luckperms_no_parent_groups": "未分配任何父组",
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import { MemoryRouter, Route, Routes } from "react-router-dom";
|
|||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import { ServerLuckPerms } from "./ServerLuckPerms";
|
import { ServerLuckPerms } from "./ServerLuckPerms";
|
||||||
import { STATUS_POLL_FAST_MS } from "@/lib/hooks";
|
import { STATUS_POLL_FAST_MS } from "@/lib/hooks";
|
||||||
|
import { humanizeError } from "@/lib/api";
|
||||||
|
|
||||||
const calls = vi.hoisted(() => ({
|
const calls = vi.hoisted(() => ({
|
||||||
status: vi.fn(),
|
status: vi.fn(),
|
||||||
@@ -245,6 +246,23 @@ describe("ServerLuckPerms reverting a permission change", () => {
|
|||||||
expect(calls.accessPermission).toHaveBeenLastCalledWith("lobby", "unset", "Alex", "essentials.fly", undefined, undefined);
|
expect(calls.accessPermission).toHaveBeenLastCalledWith("lobby", "unset", "Alex", "essentials.fly", undefined, undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("says a revert failed, and why, and leaves the change unreverted", async () => {
|
||||||
|
await lookUpAlex();
|
||||||
|
await userEvent.click(await screen.findByRole("button", { name: "Remove permission essentials.fly" }));
|
||||||
|
await screen.findByText("- essentials.fly (FALSE) [world_nether]");
|
||||||
|
calls.accessPermission.mockRejectedValue({ status: 502, code: "rcon_unavailable", message: "console down" });
|
||||||
|
await userEvent.click(screen.getByRole("button", { name: "Revert" }));
|
||||||
|
|
||||||
|
const alert = await screen.findByRole("alert");
|
||||||
|
expect(alert.textContent).toBe(
|
||||||
|
i18next.t("servers:luckperms_revert_failed", {
|
||||||
|
reason: humanizeError({ status: 502, code: "rcon_unavailable", message: "console down" }),
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
expect(alert.textContent?.startsWith("Couldn't revert: ")).toBe(true);
|
||||||
|
expect(screen.getByRole("button", { name: "Revert" })).toBeTruthy();
|
||||||
|
});
|
||||||
|
|
||||||
it("offers no revert for a removal whose value was never read", async () => {
|
it("offers no revert for a removal whose value was never read", async () => {
|
||||||
calls.accessLuckPermsInfo.mockResolvedValue({ player: "Alex", groups: [], permissions: [], output: "" });
|
calls.accessLuckPermsInfo.mockResolvedValue({ player: "Alex", groups: [], permissions: [], output: "" });
|
||||||
await lookUpAlex();
|
await lookUpAlex();
|
||||||
|
|||||||
@@ -329,7 +329,7 @@ export function ServerLuckPerms() {
|
|||||||
reloadLp();
|
reloadLp();
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
setFormFeedback({ kind: "err", msg: `${t("luckperms_reverting")} ${humanizeError(err)}` });
|
setFormFeedback({ kind: "err", msg: t("luckperms_revert_failed", { reason: humanizeError(err) }) });
|
||||||
} finally {
|
} finally {
|
||||||
setSubmitting(false);
|
setSubmitting(false);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user