diff --git a/addons/api/mirage/factories/managed-groups.js b/addons/api/mirage/factories/managed-groups.js index c146537ab..762d915d4 100644 --- a/addons/api/mirage/factories/managed-groups.js +++ b/addons/api/mirage/factories/managed-groups.js @@ -1,5 +1,6 @@ import factory from '../generated/factories/managed-groups'; import permissions from '../helpers/permissions'; +import { trait } from 'ember-cli-mirage'; const types = ['password', 'OIDC']; @@ -14,4 +15,21 @@ export default factory.extend({ 'update', 'delete', ], + + authorized_collection_actions: () => { + return { + accounts: ['create', 'list'], + }; + }, + /** + * Generates some users for the same scope and assigns them to the group + * as members. + */ + withMembers: trait({ + afterCreate(group, server) { + const scope = group.scope; + const members = server.createList('user', 2, { scope }); + group.update({ members }); + }, + }), }); diff --git a/addons/api/mirage/generated/factories/managed-groups.js b/addons/api/mirage/generated/factories/managed-groups.js index 9650e8175..47d90f846 100644 --- a/addons/api/mirage/generated/factories/managed-groups.js +++ b/addons/api/mirage/generated/factories/managed-groups.js @@ -11,7 +11,7 @@ export default Factory.extend({ created_time: () => date.recent(), updated_time: () => date.recent(), version: () => datatype.number(), - type: Math.random() < 0.5 ? 'password' : 'OIDC', + type: 'OIDC', auth_method_id: () => datatype.number(), member_ids: () => datatype.array(), }); diff --git a/addons/api/mirage/scenarios/default.js b/addons/api/mirage/scenarios/default.js index 21d68908f..180a332c7 100644 --- a/addons/api/mirage/scenarios/default.js +++ b/addons/api/mirage/scenarios/default.js @@ -44,12 +44,7 @@ export default function (server) { server.createList('role', 1, { scope: globalScope }, 'withPrincipals'); server.createList('role', 5, { scope: orgScope }, 'withPrincipals'); - server.createList( - 'managed-group', - 2, - { scope: globalScope }, - 'withAccountsAndUsers' - ); + server.createList('managed-group', 2, { scope: globalScope }, 'withMembers'); // Other resources server.schema.scopes.where({ type: 'project' }).models.forEach((scope) => { diff --git a/addons/api/mirage/serializers/managed-groups.js b/addons/api/mirage/serializers/managed-groups.js index bb9f94eb2..a35598d1a 100644 --- a/addons/api/mirage/serializers/managed-groups.js +++ b/addons/api/mirage/serializers/managed-groups.js @@ -2,12 +2,4 @@ import ApplicationSerializer from './application'; export default ApplicationSerializer.extend({ modelName: 'managed-groups', - - _hashForModel() { - const json = ApplicationSerializer.prototype._hashForModel.apply( - this, - arguments - ); - return json; - }, });