diff --git a/packages/builder/src/pages/builder/portal/users/groups/[groupId].svelte b/packages/builder/src/pages/builder/portal/users/groups/[groupId].svelte index 08c32bfeb9..4b0c6974e5 100644 --- a/packages/builder/src/pages/builder/portal/users/groups/[groupId].svelte +++ b/packages/builder/src/pages/builder/portal/users/groups/[groupId].svelte @@ -78,7 +78,11 @@ try { await groups.actions.save(group) } catch (error) { - notifications.error(`Failed to save user group`) + if (error.message) { + notifications.error(error.message) + } else { + notifications.error(`Failed to save user group`) + } } } diff --git a/packages/builder/src/pages/builder/portal/users/groups/index.svelte b/packages/builder/src/pages/builder/portal/users/groups/index.svelte index 6abc63811f..f01d306df2 100644 --- a/packages/builder/src/pages/builder/portal/users/groups/index.svelte +++ b/packages/builder/src/pages/builder/portal/users/groups/index.svelte @@ -66,6 +66,8 @@ } catch (error) { if (error.status === 400) { notifications.error(error.message) + } else if (error.message) { + notifications.error(error.message) } else { notifications.error(`Failed to save group`) } diff --git a/packages/worker/src/tests/structures/groups.ts b/packages/worker/src/tests/structures/groups.ts index 0f7e518895..33af533bd4 100644 --- a/packages/worker/src/tests/structures/groups.ts +++ b/packages/worker/src/tests/structures/groups.ts @@ -1,10 +1,25 @@ +import { generator } from "@budibase/backend-core/tests" +import { db } from "@budibase/backend-core" +import { UserGroupRoles } from "@budibase/types" + export const UserGroup = () => { + const appsCount = generator.integer({ min: 0, max: 3 }) + const roles = Array.from({ length: appsCount }).reduce( + (p: UserGroupRoles, v) => { + return { + ...p, + [db.generateAppID()]: generator.pickone(["ADMIN", "POWER", "BASIC"]), + } + }, + {} + ) + let group = { apps: [], - color: "var(--spectrum-global-color-blue-600)", - icon: "UserGroup", - name: "New group", - roles: { app_uuid1: "ADMIN", app_uuid2: "POWER" }, + color: generator.color(), + icon: generator.word(), + name: generator.word({ length: 2 }), + roles: roles, users: [], } return group