Test plan for "Suggest approvers based on code owners"
Introduction
This test plan is for #5382 (moved) and extends test plan #7286 for https://gitlab.com/gitlab-org/gitlab-ee/issues/6961. The feature displays a list of suggested approvers based on the files changed and any matching rules in
a CODEOWNERS
file.
Scope
- Only suggests approvers, does not assign them
- Only users (specified by handle or email) are supported, not groups.
- Suggested approvers are displayed while editing a merge request (not viewing)
- EE-only (Starter)
ACC Matrix
Simple | Secure | Responsive | Intuitive | Reliable | |
---|---|---|---|---|---|
Merge Requests | 2 | 2 |
For more information see the Google Testing Blog article about the 10 minute test plan and this wiki page from an open-source tool that implements the ACC model.
Capabilities
Merge Requests are:
-
Intuitive
- Show tips about using the feature when appropriate
- Ineligible approvers are shown but can't be selected
-
Reliable
- Only display code owners for files included in the MR
- Only include code owners from the target branch, not the source branch
Test Plan
Scenario: Show tips
- If no
CODEOWNERS
file is present show a tip about using the feature - If a
CODEOWNER
is not an eligible approver show them in the list but disabled and with a tooltip explaining they are not an eligible approver.
Scenario: Displaying approvers
- Check that all relevant approvers are displayed:
- Should not include code owners of files that aren't included in the MR
- Should not include code owners from source branch
- Should include all code owners of files included in the MR
Scenario: Selecting approvers
- Check that ineligible approvers are shown but can't be selected (possible FE test? Check that ineligible approvers aren't rendered as links? Otherwise e2e test)
End-to-end tests:
- Add a different
CODEOWNERS
files to target and source branches and check that a new MR displays the expected code owners from the targetCODEOWNERS
file.
Coverage of CODEOWNERS
file parsing covered by existing tests and https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/7368
Edited by Mark Lapierre