diff options
Diffstat (limited to 'spec/frontend/sidebar/components/reviewers/uncollapsed_reviewer_list_spec.js')
-rw-r--r-- | spec/frontend/sidebar/components/reviewers/uncollapsed_reviewer_list_spec.js | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/spec/frontend/sidebar/components/reviewers/uncollapsed_reviewer_list_spec.js b/spec/frontend/sidebar/components/reviewers/uncollapsed_reviewer_list_spec.js index 66bc1f393ae..d7a5e4ba3ba 100644 --- a/spec/frontend/sidebar/components/reviewers/uncollapsed_reviewer_list_spec.js +++ b/spec/frontend/sidebar/components/reviewers/uncollapsed_reviewer_list_spec.js @@ -4,7 +4,7 @@ import { TEST_HOST } from 'helpers/test_constants'; import ReviewerAvatarLink from '~/sidebar/components/reviewers/reviewer_avatar_link.vue'; import UncollapsedReviewerList from '~/sidebar/components/reviewers/uncollapsed_reviewer_list.vue'; -const userDataMock = ({ approved = false } = {}) => ({ +const userDataMock = ({ approved = false, reviewState = 'UNREVIEWED' } = {}) => ({ id: 1, name: 'Root', state: 'active', @@ -16,6 +16,7 @@ const userDataMock = ({ approved = false } = {}) => ({ canUpdate: true, reviewed: true, approved, + reviewState, }, }); @@ -204,4 +205,28 @@ describe('UncollapsedReviewerList component', () => { ); }); }); + + describe('reviewer state icons', () => { + it.each` + reviewState | approved | icon + ${'UNREVIEWED'} | ${false} | ${'dotted-circle'} + ${'REVIEWED'} | ${true} | ${'status-success'} + ${'REVIEWED'} | ${false} | ${'comment'} + ${'REQUESTED_CHANGES'} | ${false} | ${'status-alert'} + `( + 'renders $icon for reviewState:$reviewState and approved:$approved', + ({ reviewState, approved, icon }) => { + const user = userDataMock({ approved, reviewState }); + + createComponent( + { + users: [user], + }, + { mrRequestChanges: true }, + ); + + expect(wrapper.find('[data-testid="reviewer-state-icon"]').props('name')).toBe(icon); + }, + ); + }); }); |