diff --git a/app/assets/javascripts/boards/components/issue_card_inner.vue b/app/assets/javascripts/boards/components/issue_card_inner.vue index 7f7510545c6695503279b8fda5d57f7a5484d422..0e0d1e64f4afe898d93702d2daaadd0cd0575a11 100644 --- a/app/assets/javascripts/boards/components/issue_card_inner.vue +++ b/app/assets/javascripts/boards/components/issue_card_inner.vue @@ -233,7 +233,7 @@ export default { :key="assignee.id" :link-href="assigneeUrl(assignee)" :img-alt="avatarUrlTitle(assignee)" - :img-src="assignee.avatar" + :img-src="assignee.avatar || assignee.avatar_url" :img-size="24" class="js-no-trigger" tooltip-placement="bottom" diff --git a/changelogs/unreleased/197894.yml b/changelogs/unreleased/197894.yml new file mode 100644 index 0000000000000000000000000000000000000000..7cdcdf4be95d17ac67bab5502eae648d2801d0f8 --- /dev/null +++ b/changelogs/unreleased/197894.yml @@ -0,0 +1,5 @@ +--- +title: MVC for assignees avatar dissapearing when opening issue sidebar in board +merge_request: +author: Oregand +type: fixed diff --git a/spec/frontend/boards/issue_card_spec.js b/spec/frontend/boards/issue_card_spec.js index 08cffed5f00664c12c048a771361907b063bc785..526cdb81ac6e5ab501474adb48020556e4c50873 100644 --- a/spec/frontend/boards/issue_card_spec.js +++ b/spec/frontend/boards/issue_card_spec.js @@ -97,6 +97,9 @@ describe('Issue card component', () => { issue: { ...wrapper.props('issue'), assignees: [user], + updateData(newData) { + Object.assign(this, newData); + }, }, }); @@ -118,6 +121,28 @@ describe('Issue card component', () => { it('renders avatar', () => { expect(wrapper.find('.board-card-assignee img').exists()).toBe(true); }); + + it('renders the avatar using avatar_url property', done => { + wrapper.props('issue').updateData({ + ...wrapper.props('issue'), + assignees: [ + { + id: '1', + name: 'test', + state: 'active', + username: 'test_name', + avatar_url: 'test_image_from_avatar_url', + }, + ], + }); + + wrapper.vm.$nextTick(() => { + expect(wrapper.find('.board-card-assignee img').attributes('src')).toBe( + 'test_image_from_avatar_url?width=24', + ); + done(); + }); + }); }); describe('assignee default avatar', () => {