Commit 63307ade authored by Martin Wortschack's avatar Martin Wortschack

Split bio into individual line in extended user tooltips

- Remove leading 'at' in organzation info
- Update karma tests
parent 347d1633
<script> <script>
import { GlPopover, GlSkeletonLoading } from '@gitlab/ui'; import { GlPopover, GlSkeletonLoading } from '@gitlab/ui';
import { __, sprintf } from '~/locale';
import UserAvatarImage from '../user_avatar/user_avatar_image.vue'; import UserAvatarImage from '../user_avatar/user_avatar_image.vue';
import { glEmojiTag } from '../../../emoji'; import { glEmojiTag } from '../../../emoji';
...@@ -28,23 +27,6 @@ export default { ...@@ -28,23 +27,6 @@ export default {
}, },
}, },
computed: { computed: {
jobLine() {
if (this.user.bio && this.user.organization) {
return sprintf(
__('%{bio} at %{organization}'),
{
bio: this.user.bio,
organization: this.user.organization,
},
false,
);
} else if (this.user.bio) {
return this.user.bio;
} else if (this.user.organization) {
return this.user.organization;
}
return null;
},
statusHtml() { statusHtml() {
if (this.user.status.emoji && this.user.status.message) { if (this.user.status.emoji && this.user.status.message) {
return `${glEmojiTag(this.user.status.emoji)} ${this.user.status.message}`; return `${glEmojiTag(this.user.status.emoji)} ${this.user.status.message}`;
...@@ -86,7 +68,8 @@ export default { ...@@ -86,7 +68,8 @@ export default {
<gl-skeleton-loading v-else :lines="1" class="animation-container-small mb-1" /> <gl-skeleton-loading v-else :lines="1" class="animation-container-small mb-1" />
</div> </div>
<div class="text-secondary"> <div class="text-secondary">
{{ jobLine }} <div v-if="user.bio" class="js-bio">{{ user.bio }}</div>
<div v-if="user.organization" class="js-organization">{{ user.organization }}</div>
<gl-skeleton-loading <gl-skeleton-loading
v-if="jobInfoIsLoading" v-if="jobInfoIsLoading"
:lines="1" :lines="1"
......
---
title: Split bio into individual line in extended user tooltips
merge_request: 23940
author:
type: other
...@@ -97,9 +97,6 @@ msgstr[1] "" ...@@ -97,9 +97,6 @@ msgstr[1] ""
msgid "%{actionText} & %{openOrClose} %{noteable}" msgid "%{actionText} & %{openOrClose} %{noteable}"
msgstr "" msgstr ""
msgid "%{bio} at %{organization}"
msgstr ""
msgid "%{commit_author_link} authored %{commit_timeago}" msgid "%{commit_author_link} authored %{commit_timeago}"
msgstr "" msgstr ""
......
...@@ -89,7 +89,7 @@ describe('User Popover Component', () => { ...@@ -89,7 +89,7 @@ describe('User Popover Component', () => {
expect(vm.$el.textContent).toContain('GitLab'); expect(vm.$el.textContent).toContain('GitLab');
}); });
it('should have full job line when we have bio and organization', () => { it('should display bio and organization in separate lines', () => {
const testProps = Object.assign({}, DEFAULT_PROPS); const testProps = Object.assign({}, DEFAULT_PROPS);
testProps.user.bio = 'Engineer'; testProps.user.bio = 'Engineer';
testProps.user.organization = 'GitLab'; testProps.user.organization = 'GitLab';
...@@ -99,20 +99,24 @@ describe('User Popover Component', () => { ...@@ -99,20 +99,24 @@ describe('User Popover Component', () => {
target: document.querySelector('.js-user-link'), target: document.querySelector('.js-user-link'),
}); });
expect(vm.$el.textContent).toContain('Engineer at GitLab'); expect(vm.$el.querySelector('.js-bio').textContent).toContain('Engineer');
expect(vm.$el.querySelector('.js-organization').textContent).toContain('GitLab');
}); });
it('should not encode special characters when we have bio and organization', () => { it('should not encode special characters in bio and organization', () => {
const testProps = Object.assign({}, DEFAULT_PROPS); const testProps = Object.assign({}, DEFAULT_PROPS);
testProps.user.bio = 'Manager & Team Lead'; testProps.user.bio = 'Manager & Team Lead';
testProps.user.organization = 'GitLab'; testProps.user.organization = 'Me & my <funky> Company';
vm = mountComponent(UserPopover, { vm = mountComponent(UserPopover, {
...DEFAULT_PROPS, ...DEFAULT_PROPS,
target: document.querySelector('.js-user-link'), target: document.querySelector('.js-user-link'),
}); });
expect(vm.$el.textContent).toContain('Manager & Team Lead at GitLab'); expect(vm.$el.querySelector('.js-bio').textContent).toContain('Manager & Team Lead');
expect(vm.$el.querySelector('.js-organization').textContent).toContain(
'Me & my <funky> Company',
);
}); });
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment