mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-20 01:56:06 +10:00
It is same search like we have at issues page. It allows to quickly filter merge requests based on title or desription. I copy-pasted some js code from Issues.js. In future search (filtering) logic should be refactoed into one class for merge requests and issues
228 lines
9.3 KiB
Gherkin
228 lines
9.3 KiB
Gherkin
Feature: Project Merge Requests
|
|
Background:
|
|
Given I sign in as a user
|
|
And I own project "Shop"
|
|
And project "Shop" have "Bug NS-04" open merge request
|
|
And project "Shop" have "Feature NS-03" closed merge request
|
|
And I visit project "Shop" merge requests page
|
|
|
|
Scenario: I should see open merge requests
|
|
Then I should see "Bug NS-04" in merge requests
|
|
And I should not see "Feature NS-03" in merge requests
|
|
|
|
Scenario: I should see closed merge requests
|
|
Given I click link "Closed"
|
|
Then I should see "Feature NS-03" in merge requests
|
|
And I should not see "Bug NS-04" in merge requests
|
|
|
|
Scenario: I should see all merge requests
|
|
Given I click link "All"
|
|
Then I should see "Feature NS-03" in merge requests
|
|
And I should see "Bug NS-04" in merge requests
|
|
|
|
Scenario: I visit merge request page
|
|
Given I click link "Bug NS-04"
|
|
Then I should see merge request "Bug NS-04"
|
|
|
|
Scenario: I close merge request page
|
|
Given I click link "Bug NS-04"
|
|
And I click link "Close"
|
|
Then I should see closed merge request "Bug NS-04"
|
|
|
|
Scenario: I reopen merge request page
|
|
Given I click link "Bug NS-04"
|
|
And I click link "Close"
|
|
Then I should see closed merge request "Bug NS-04"
|
|
When I click link "Reopen"
|
|
Then I should see reopened merge request "Bug NS-04"
|
|
|
|
Scenario: I submit new unassigned merge request
|
|
Given I click link "New Merge Request"
|
|
And I submit new merge request "Wiki Feature"
|
|
Then I should see merge request "Wiki Feature"
|
|
|
|
@javascript
|
|
Scenario: I comment on a merge request
|
|
Given I visit merge request page "Bug NS-04"
|
|
And I leave a comment like "XML attached"
|
|
Then I should see comment "XML attached"
|
|
|
|
@javascript
|
|
Scenario: I comment on a merge request diff
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And I visit merge request page "Bug NS-05"
|
|
And I switch to the diff tab
|
|
And I leave a comment like "Line is wrong" on diff
|
|
And I switch to the merge request's comments tab
|
|
Then I should see a discussion has started on diff
|
|
|
|
@javascript
|
|
Scenario: I comment on a line of a commit in merge request
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And I visit merge request page "Bug NS-05"
|
|
And I click on the commit in the merge request
|
|
And I leave a comment like "Line is wrong" on diff in commit
|
|
And I switch to the merge request's comments tab
|
|
Then I should see a discussion has started on commit diff
|
|
|
|
@javascript
|
|
Scenario: I comment on a commit in merge request
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And I visit merge request page "Bug NS-05"
|
|
And I click on the commit in the merge request
|
|
And I leave a comment on the diff page in commit
|
|
And I switch to the merge request's comments tab
|
|
Then I should see a discussion has started on commit
|
|
|
|
@javascript
|
|
Scenario: I accept merge request with custom commit message
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And merge request "Bug NS-05" is mergeable
|
|
And I visit merge request page "Bug NS-05"
|
|
And merge request is mergeable
|
|
Then I modify merge commit message
|
|
And I accept this merge request
|
|
Then I should see merged request
|
|
|
|
# Markdown
|
|
|
|
Scenario: Headers inside the description should have ids generated for them.
|
|
When I visit merge request page "Bug NS-04"
|
|
Then Header "Description header" should have correct id and link
|
|
|
|
@javascript
|
|
Scenario: Headers inside comments should not have ids generated for them.
|
|
Given I visit merge request page "Bug NS-04"
|
|
And I leave a comment with a header containing "Comment with a header"
|
|
Then The comment with the header should not have an ID
|
|
|
|
Scenario: Merge request description should render task checkboxes
|
|
Given project "Shop" has "MR-task-open" open MR with task markdown
|
|
When I visit merge request page "MR-task-open"
|
|
Then I should see task checkboxes in the description
|
|
|
|
Scenario: Merge request notes should not render task checkboxes
|
|
Given project "Shop" has "MR-task-open" open MR with task markdown
|
|
When I visit merge request page "MR-task-open"
|
|
Then I should not see task checkboxes in the comment
|
|
|
|
# Toggling inline comments
|
|
|
|
@javascript
|
|
Scenario: I hide comments on a merge request diff with comments in a single file
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And I visit merge request page "Bug NS-05"
|
|
And I switch to the diff tab
|
|
And I leave a comment like "Line is wrong" on line 39 of the second file
|
|
And I click link "Hide inline discussion" of the second file
|
|
Then I should not see a comment like "Line is wrong here" in the second file
|
|
|
|
@javascript
|
|
Scenario: I show comments on a merge request diff with comments in a single file
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And I visit merge request page "Bug NS-05"
|
|
And I switch to the diff tab
|
|
And I leave a comment like "Line is wrong" on line 39 of the second file
|
|
Then I should see a comment like "Line is wrong" in the second file
|
|
|
|
@javascript
|
|
Scenario: I hide comments on a merge request diff with comments in multiple files
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And I visit merge request page "Bug NS-05"
|
|
And I switch to the diff tab
|
|
And I leave a comment like "Line is correct" on line 12 of the first file
|
|
And I leave a comment like "Line is wrong" on line 39 of the second file
|
|
And I click link "Hide inline discussion" of the second file
|
|
Then I should not see a comment like "Line is wrong here" in the second file
|
|
And I should still see a comment like "Line is correct" in the first file
|
|
|
|
@javascript
|
|
Scenario: I show comments on a merge request diff with comments in multiple files
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And I visit merge request page "Bug NS-05"
|
|
And I switch to the diff tab
|
|
And I leave a comment like "Line is correct" on line 12 of the first file
|
|
And I leave a comment like "Line is wrong" on line 39 of the second file
|
|
And I click link "Hide inline discussion" of the second file
|
|
And I click link "Show inline discussion" of the second file
|
|
Then I should see a comment like "Line is wrong" in the second file
|
|
And I should still see a comment like "Line is correct" in the first file
|
|
|
|
@javascript
|
|
Scenario: I unfold diff
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And I visit merge request page "Bug NS-05"
|
|
And I switch to the diff tab
|
|
And I unfold diff
|
|
Then I should see additional file lines
|
|
|
|
@javascript
|
|
Scenario: I show comments on a merge request side-by-side diff with comments in multiple files
|
|
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
|
|
And I visit merge request page "Bug NS-05"
|
|
And I switch to the diff tab
|
|
And I leave a comment like "Line is correct" on line 12 of the first file
|
|
And I leave a comment like "Line is wrong" on line 39 of the second file
|
|
And I click Side-by-side Diff tab
|
|
Then I should see comments on the side-by-side diff page
|
|
|
|
# Task status in issues list
|
|
|
|
Scenario: Merge requests list should display task status
|
|
Given project "Shop" has "MR-task-open" open MR with task markdown
|
|
When I visit project "Shop" merge requests page
|
|
Then I should see the task status for the Taskable
|
|
|
|
# Toggling task items
|
|
|
|
@javascript
|
|
Scenario: Task checkboxes should be enabled for an open merge request
|
|
Given project "Shop" has "MR-task-open" open MR with task markdown
|
|
When I visit merge request page "MR-task-open"
|
|
Then Task checkboxes should be enabled
|
|
|
|
@javascript
|
|
Scenario: Task checkboxes should be disabled for a closed merge request
|
|
Given project "Shop" has "MR-task-open" open MR with task markdown
|
|
And I visit merge request page "MR-task-open"
|
|
And I click link "Close"
|
|
Then Task checkboxes should be disabled
|
|
|
|
# Description preview
|
|
|
|
@javascript
|
|
Scenario: I can't preview without text
|
|
Given I visit merge request page "Bug NS-04"
|
|
And I click link "Edit" for the merge request
|
|
And I haven't written any description text
|
|
Then The Markdown preview tab should say there is nothing to do
|
|
|
|
@javascript
|
|
Scenario: I can preview with text
|
|
Given I visit merge request page "Bug NS-04"
|
|
And I click link "Edit" for the merge request
|
|
And I write a description like ":+1: Nice"
|
|
Then The Markdown preview tab should display rendered Markdown
|
|
|
|
@javascript
|
|
Scenario: I preview a merge request description
|
|
Given I visit merge request page "Bug NS-04"
|
|
And I click link "Edit" for the merge request
|
|
And I preview a description text like "Bug fixed :smile:"
|
|
Then I should see the Markdown preview
|
|
And I should not see the Markdown text field
|
|
|
|
@javascript
|
|
Scenario: I can edit after preview
|
|
Given I visit merge request page "Bug NS-04"
|
|
And I click link "Edit" for the merge request
|
|
And I preview a description text like "Bug fixed :smile:"
|
|
Then I should see the Markdown write tab
|
|
|
|
@javascript
|
|
Scenario: I search merge request
|
|
Given I click link "All"
|
|
When I fill in merge request search with "Fe"
|
|
Then I should see "Feature NS-03" in merge requests
|
|
And I should not see "Bug NS-04" in merge requests
|