Skip to content

Commit 51b6eb5

Browse files
committed
OwnersList: Fall back to login if name is not filled
1 parent 97f7d81 commit 51b6eb5

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

app/components/owners-list.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
data-test-owner-link={{owner.login}}
1313
>
1414
<UserAvatar @user={{owner}} @size="medium-small" local-class="avatar" aria-hidden="true" />
15-
<span local-class="name {{unless this.showDetailedList "hidden-name"}}">{{or owner.display_name owner.name}}</span>
15+
<span local-class="name {{unless this.showDetailedList "hidden-name"}}">{{or owner.display_name owner.name owner.login}}</span>
1616
</LinkTo>
1717
</li>
1818
{{/each}}

tests/components/owners-list-test.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,30 @@ module('Component | OwnersList', function (hooks) {
3535
assert.dom('[data-test-owner-link="user-1"]').hasAttribute('href', '/users/user-1');
3636
});
3737

38+
test('user without `name`', async function (assert) {
39+
let crate = this.server.create('crate');
40+
this.server.create('version', { crate });
41+
42+
let user = this.server.create('user', { name: null, login: 'anonymous' });
43+
this.server.create('crate-ownership', { crate, user });
44+
45+
let store = this.owner.lookup('service:store');
46+
this.crate = await store.findRecord('crate', crate.name);
47+
await this.crate.hasMany('owner_team').load();
48+
await this.crate.hasMany('owner_user').load();
49+
50+
await render(hbs`<OwnersList @owners={{this.crate.owners}} />`);
51+
assert.dom('[data-test-owners="detailed"]').exists();
52+
assert.dom('ul > li').exists({ count: 1 });
53+
assert.dom('[data-test-owner-link]').exists({ count: 1 });
54+
55+
let logins = [...this.element.querySelectorAll('[data-test-owner-link]')].map(it => it.dataset.testOwnerLink);
56+
assert.deepEqual(logins, ['anonymous']);
57+
58+
assert.dom('[data-test-owner-link="anonymous"]').hasText('anonymous');
59+
assert.dom('[data-test-owner-link="anonymous"]').hasAttribute('href', '/users/anonymous');
60+
});
61+
3862
test('five users', async function (assert) {
3963
let crate = this.server.create('crate');
4064
this.server.create('version', { crate });

0 commit comments

Comments
 (0)