Add SCUM file management workbench
This commit is contained in:
@@ -217,6 +217,10 @@ describe("plugin manifest validation", () => {
|
||||
expect(installScript).toContain("steamcmd\\steamapps\\common\\SCUM Server");
|
||||
expect(installScript).toContain(".scum-exe-path");
|
||||
expect(startScript).toContain(".scum-exe-path");
|
||||
expect(startScript).toContain("call :install_or_update");
|
||||
expect(startScript).toContain("scum-install-update.cmd");
|
||||
expect(startScript).toContain("SCUM executable was not found. Running plugin install/update script.");
|
||||
expect(startScript).not.toContain("SCUM.log");
|
||||
expect(startScript).toContain("%SERVER_INSTALL_DIR_WINDOWS%\\%SERVER_EXECUTABLE_REF:/=\\%");
|
||||
expect(startScript).toContain("steamcmd\\steamapps\\common\\SCUM Server");
|
||||
expect(startScript).toContain("SCUM_WORKDIR");
|
||||
@@ -438,6 +442,12 @@ describe("plugin manifest validation", () => {
|
||||
pages: Array<{ pageKey: string; commandTypes?: string[]; snapshotTypes?: string[] }>;
|
||||
};
|
||||
pages: Array<{ key: string }>;
|
||||
fileWorkspace?: {
|
||||
defaultDirectoryKey: string;
|
||||
directories: Array<{ key: string; label: string; scope: string }>;
|
||||
files: Array<{ key: string; directoryKey: string; label: string; kind: string; streamKey?: string; editable?: boolean }>;
|
||||
configFields: Array<{ key: string; fileKey: string; configKey: string; label: string }>;
|
||||
};
|
||||
runtimeProfiles?: {
|
||||
lifecycleProfiles?: Array<{ key: string; capabilities?: string[] }>;
|
||||
logSources?: Array<{ key: string }>;
|
||||
@@ -477,6 +487,10 @@ describe("plugin manifest validation", () => {
|
||||
"maintenance.prepare"
|
||||
]));
|
||||
expect(manifest.pages.map((page) => page.key)).toContain("files-config");
|
||||
expect(manifest.fileWorkspace?.defaultDirectoryKey).toBe("scum-config");
|
||||
expect(manifest.fileWorkspace?.directories.map((directory) => directory.key)).toEqual(["scum-config", "scum-logs"]);
|
||||
expect(manifest.fileWorkspace?.files.map((file) => file.key)).toEqual(expect.arrayContaining(["scum-server-settings", "scum-game-config", "scum-engine-config", "scum-game-user-settings", "scum-admin-log", "scum-chat-log", "scum-kill-log", "scum-login-log", "scum-server-log"]));
|
||||
expect(manifest.fileWorkspace?.configFields.every((field) => field.fileKey === "scum-server-settings")).toBe(true);
|
||||
expect(manifest.runtimeProfiles?.lifecycleProfiles?.find((profile) => profile.key === "scum-client")?.capabilities).not.toContain("remote.run.rcon.command");
|
||||
expect(manifest.runtimeProfiles?.logSources?.map((source) => source.key)).toEqual(expect.arrayContaining(["scum-chat-events", "scum-server-events", "scum-client-events"]));
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user