mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat: remove app name and logo customization feature
Users can no longer customize the app name or logo. The branding API endpoints, permission, frontend UI, env vars (APP_NAME, MAX_LOGO_SIZE_KB), and all related tests are removed. Includes a migration to clean up branding data from existing databases.
This commit is contained in:
@@ -122,15 +122,6 @@ test.describe("GUI Settings - General Tab", () => {
|
||||
});
|
||||
|
||||
test.describe("GUI Settings - System Settings Tab", () => {
|
||||
test("shows App Name input", async ({ loggedInPage: page }) => {
|
||||
await openSettings(page);
|
||||
await page.getByRole("button", { name: /system settings/i }).click();
|
||||
|
||||
await expect(page.getByText("App Name")).toBeVisible();
|
||||
const appNameInput = page.locator("input[type='text']").first();
|
||||
await expect(appNameInput).toBeVisible();
|
||||
});
|
||||
|
||||
test("shows File Upload Limit input", async ({ loggedInPage: page }) => {
|
||||
await openSettings(page);
|
||||
await page.getByRole("button", { name: /system settings/i }).click();
|
||||
@@ -167,7 +158,7 @@ test.describe("GUI Settings - System Settings Tab", () => {
|
||||
await page.getByRole("button", { name: /system settings/i }).click();
|
||||
|
||||
// Wait for section to load
|
||||
await expect(page.getByText("App Name")).toBeVisible();
|
||||
await expect(page.getByText("File Upload Limit (MB)")).toBeVisible();
|
||||
|
||||
// Click save
|
||||
await page.getByRole("button", { name: /save settings/i }).click();
|
||||
@@ -372,45 +363,3 @@ test.describe("GUI Settings - Product Analytics Tab (deep)", () => {
|
||||
expect(toggleVisible || disabledVisible).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
test.describe("GUI Settings - Save and Persistence", () => {
|
||||
test("System Settings save persists after dialog close and reopen", async ({
|
||||
loggedInPage: page,
|
||||
}) => {
|
||||
// Navigate to System Settings tab
|
||||
await openSettings(page);
|
||||
await page.getByRole("button", { name: /system settings/i }).click();
|
||||
await expect(page.getByText("App Name")).toBeVisible({ timeout: 5_000 });
|
||||
|
||||
// Wait for the input to load
|
||||
const appNameInput = page.locator("input[type='text']").first();
|
||||
await expect(appNameInput).toBeVisible();
|
||||
const originalName = await appNameInput.inputValue();
|
||||
const testName = originalName === "SnapOtter" ? "TestApp" : "SnapOtter";
|
||||
|
||||
// Change the App Name
|
||||
await appNameInput.fill(testName);
|
||||
|
||||
// Save
|
||||
await page.getByRole("button", { name: /save settings/i }).click();
|
||||
await expect(page.getByText("Settings saved.")).toBeVisible({ timeout: 5_000 });
|
||||
|
||||
// Close the dialog
|
||||
await page.keyboard.press("Escape");
|
||||
await expect(page.locator("h2").filter({ hasText: "Settings" })).not.toBeVisible();
|
||||
|
||||
// Reopen the dialog and go to System Settings
|
||||
await openSettings(page);
|
||||
await page.getByRole("button", { name: /system settings/i }).click();
|
||||
await expect(page.getByText("App Name")).toBeVisible();
|
||||
|
||||
// Verify the setting persisted
|
||||
const persistedName = await page.locator("input[type='text']").first().inputValue();
|
||||
expect(persistedName).toBe(testName);
|
||||
|
||||
// Restore original name
|
||||
await page.locator("input[type='text']").first().fill(originalName);
|
||||
await page.getByRole("button", { name: /save settings/i }).click();
|
||||
await expect(page.getByText("Settings saved.")).toBeVisible({ timeout: 5_000 });
|
||||
});
|
||||
});
|
||||
|
||||
@@ -331,7 +331,7 @@ base.describe("RBAC Full — Custom Role User", () => {
|
||||
const writeRes = await fetch(`${API}/api/v1/settings`, {
|
||||
method: "PUT",
|
||||
headers: authJson(bearerToken),
|
||||
body: JSON.stringify({ appName: "hacked" }),
|
||||
body: JSON.stringify({ testSetting: "hacked" }),
|
||||
});
|
||||
expect(writeRes.status).toBe(403);
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ base.describe("RBAC - User sees restricted tabs", () => {
|
||||
const settingsRes = await fetch(`${API}/api/v1/settings`, {
|
||||
method: "PUT",
|
||||
headers: authJson(bearerToken),
|
||||
body: JSON.stringify({ appName: "hacked" }),
|
||||
body: JSON.stringify({ testSetting: "hacked" }),
|
||||
});
|
||||
expect(settingsRes.status).toBe(403);
|
||||
});
|
||||
@@ -280,7 +280,7 @@ base.describe("RBAC - Editor sees collaborative tabs", () => {
|
||||
const settingsRes = await fetch(`${API}/api/v1/settings`, {
|
||||
method: "PUT",
|
||||
headers: authJson(token as string),
|
||||
body: JSON.stringify({ appName: "hacked" }),
|
||||
body: JSON.stringify({ testSetting: "hacked" }),
|
||||
});
|
||||
expect(settingsRes.status).toBe(403);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user