diff --git a/addons/api/addon/models/account.js b/addons/api/addon/models/account.js index e5f702541..9412e18aa 100644 --- a/addons/api/addon/models/account.js +++ b/addons/api/addon/models/account.js @@ -26,15 +26,10 @@ export default class AccountModel extends GeneratedAccountModel { * Convenience for getting username in account. * @type {string} */ - @computed('type', 'attributes.login_name') - get username() { - let username = ''; - switch (this.type) { - case 'password': - username = this.attributes.login_name; - break; - } - return username; + @computed('attributes.{email,full_name,login_name}') + get accountName() { + const { email, full_name, login_name } = this.attributes; + return email || full_name || login_name; } // =methods diff --git a/addons/api/mirage/factories/account.js b/addons/api/mirage/factories/account.js index 5908d0a21..5c49f96b5 100644 --- a/addons/api/mirage/factories/account.js +++ b/addons/api/mirage/factories/account.js @@ -1,3 +1,18 @@ import factory from '../generated/factories/account'; +import { random, internet } from 'faker'; -export default factory.extend(); +export default factory.extend({ + attributes() { + switch (this.type) { + case 'password': + return { login_name: random.words() }; + case 'oidc': + return { + issuer: internet.ip(), + subject: 'sub', + email: internet.email(), + full_name: random.words(), + }; + } + }, +}); diff --git a/addons/api/mirage/factories/auth-method.js b/addons/api/mirage/factories/auth-method.js index b7dc8ddda..fd8e705fd 100644 --- a/addons/api/mirage/factories/auth-method.js +++ b/addons/api/mirage/factories/auth-method.js @@ -14,9 +14,9 @@ export default factory.extend({ */ withAccountsAndUsers: trait({ afterCreate(authMethod, server) { - const { scope } = authMethod; + const { scope, type } = authMethod; server.createList('user', 5, { scope }).map((user) => { - const { id } = server.create('account', { scope, authMethod }); + const { id } = server.create('account', { scope, type, authMethod }); user.update({ accountIds: [id] }); }); }, diff --git a/addons/api/mirage/generated/factories/account.js b/addons/api/mirage/generated/factories/account.js index bc5a33c02..92a515a73 100644 --- a/addons/api/mirage/generated/factories/account.js +++ b/addons/api/mirage/generated/factories/account.js @@ -1,15 +1,14 @@ import { Factory } from 'ember-cli-mirage'; -import { random, date, datatype } from 'faker'; +import { date, datatype } from 'faker'; /** * GeneratedAccountFactory */ export default Factory.extend({ type: 'password', - name: () => random.words(), - description: () => random.words(), + // name: () => random.words(), + // description: () => random.words(), created_time: () => date.recent(), updated_time: () => date.recent(), version: () => datatype.number(), - attributes: () => ({ login_name: random.words() }), }); diff --git a/addons/api/tests/unit/models/account-test.js b/addons/api/tests/unit/models/account-test.js index 33021e295..4a4b3b0d4 100644 --- a/addons/api/tests/unit/models/account-test.js +++ b/addons/api/tests/unit/models/account-test.js @@ -10,15 +10,14 @@ module('Unit | Model | account', function (hooks) { assert.ok(model); }); - test('it has an username attribute for password account', function (assert) { + test('it has an accountName attribute for password account', function (assert) { assert.expect(2); const store = this.owner.lookup('service:store'); let model = store.createRecord('account', { - name: 'name', type: 'password', }); - assert.notOk(model.username); - model.attributes.login_name = 'username'; - assert.equal(model.username, 'username'); + assert.notOk(model.accountName); + model.attributes.login_name = 'foobar'; + assert.equal(model.accountName, 'foobar'); }); }); diff --git a/ui/admin/app/components/form/user/add-accounts/index.hbs b/ui/admin/app/components/form/user/add-accounts/index.hbs index eb9ef4123..ac93847f7 100644 --- a/ui/admin/app/components/form/user/add-accounts/index.hbs +++ b/ui/admin/app/components/form/user/add-accounts/index.hbs @@ -17,7 +17,8 @@
{{account.auth_method_id}}
{{account.description}}
+{{account.attributes.issuer}}
@@ -31,6 +38,9 @@
{{account.description}}
-{{account.description}}
{{account.description}}