summaryrefslogtreecommitdiff
path: root/spec/frontend/sidebar/components/reviewers/uncollapsed_reviewer_list_spec.js
diff options
context:
space:
mode:
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.js56
1 files changed, 26 insertions, 30 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 128ef69e5f1..037b56d9904 100644
--- a/spec/frontend/sidebar/components/reviewers/uncollapsed_reviewer_list_spec.js
+++ b/spec/frontend/sidebar/components/reviewers/uncollapsed_reviewer_list_spec.js
@@ -1,4 +1,3 @@
-import { nextTick } from 'vue';
import { shallowMount } from '@vue/test-utils';
import { TEST_HOST } from 'helpers/test_constants';
import ReviewerAvatarLink from '~/sidebar/components/reviewers/reviewer_avatar_link.vue';
@@ -23,8 +22,9 @@ describe('UncollapsedReviewerList component', () => {
let wrapper;
const findAllRerequestButtons = () => wrapper.findAll('[data-testid="re-request-button"]');
- const findAllRerequestSuccessIcons = () => wrapper.findAll('[data-testid="re-request-success"]');
- const findAllReviewerApprovalIcons = () => wrapper.findAll('[data-testid="re-approved"]');
+ const findAllReviewerApprovalIcons = () => wrapper.findAll('[data-testid="approved"]');
+ const findAllReviewedNotApprovedIcons = () =>
+ wrapper.findAll('[data-testid="reviewed-not-approved"]');
const findAllReviewerAvatarLinks = () => wrapper.findAllComponents(ReviewerAvatarLink);
function createComponent(props = {}, glFeatures = {}) {
@@ -42,13 +42,6 @@ describe('UncollapsedReviewerList component', () => {
});
}
- const callRerequestCallback = async () => {
- const payload = wrapper.emitted('request-review')[0][0];
- // Call payload which is normally called by a parent component
- payload.callback(payload.userId, true);
- await nextTick();
- };
-
describe('single reviewer', () => {
const user = userDataMock();
@@ -71,13 +64,6 @@ describe('UncollapsedReviewerList component', () => {
expect(findAllRerequestButtons().at(0).props('loading')).toBe(true);
});
-
- it('renders re-request success icon', async () => {
- await findAllRerequestButtons().at(0).vm.$emit('click');
- await callRerequestCallback();
-
- expect(findAllRerequestSuccessIcons().at(0).exists()).toBe(true);
- });
});
describe('multiple reviewers', () => {
@@ -92,20 +78,32 @@ describe('UncollapsedReviewerList component', () => {
approved: true,
},
};
+ const user3 = {
+ ...user,
+ id: 3,
+ name: 'lizabeth-wilderman',
+ username: 'lizabeth-wilderman',
+ mergeRequestInteraction: {
+ ...user.mergeRequestInteraction,
+ approved: false,
+ reviewed: true,
+ },
+ };
beforeEach(() => {
createComponent({
- users: [user, user2],
+ users: [user, user2, user3],
});
});
- it('has both users', () => {
- expect(findAllReviewerAvatarLinks()).toHaveLength(2);
+ it('has three users', () => {
+ expect(findAllReviewerAvatarLinks()).toHaveLength(3);
});
- it('shows both users with avatar, and author name', () => {
+ it('shows all users with avatar, and author name', () => {
expect(wrapper.text()).toContain(user.name);
expect(wrapper.text()).toContain(user2.name);
+ expect(wrapper.text()).toContain(user3.name);
});
it('renders approval icon', () => {
@@ -118,21 +116,19 @@ describe('UncollapsedReviewerList component', () => {
expect(icon.attributes('title')).toBe('Approved by @hello-world');
});
+ it('shows that lizabeth-wilderman reviewed but did not approve', () => {
+ const icon = findAllReviewedNotApprovedIcons().at(1);
+
+ expect(icon.attributes('title')).toBe('Reviewed by @lizabeth-wilderman but not yet approved');
+ });
+
it('renders re-request loading icon', async () => {
await findAllRerequestButtons().at(1).vm.$emit('click');
const allRerequestButtons = findAllRerequestButtons();
- expect(allRerequestButtons).toHaveLength(2);
+ expect(allRerequestButtons).toHaveLength(3);
expect(allRerequestButtons.at(1).props('loading')).toBe(true);
});
-
- it('renders re-request success icon', async () => {
- await findAllRerequestButtons().at(1).vm.$emit('click');
- await callRerequestCallback();
-
- expect(findAllRerequestButtons()).toHaveLength(1);
- expect(findAllRerequestSuccessIcons()).toHaveLength(1);
- });
});
});