2015-12-09 04:50:28 -05:00
|
|
|
@project_issues
|
2012-09-10 08:34:01 -04:00
|
|
|
Feature: Project Issues
|
2012-06-27 14:20:35 -04:00
|
|
|
Background:
|
2012-09-10 08:34:01 -04:00
|
|
|
Given I sign in as a user
|
2012-06-27 14:20:35 -04:00
|
|
|
And I own project "Shop"
|
|
|
|
And project "Shop" have "Release 0.4" open issue
|
2013-09-27 09:25:24 -04:00
|
|
|
And project "Shop" have "Tweet control" open issue
|
2012-06-27 14:20:35 -04:00
|
|
|
And project "Shop" have "Release 0.3" closed issue
|
2012-09-06 02:15:51 -04:00
|
|
|
And I visit project "Shop" issues page
|
2012-06-27 14:20:35 -04:00
|
|
|
|
|
|
|
Scenario: I should see open issues
|
2012-08-03 12:49:54 -04:00
|
|
|
Given I should see "Release 0.4" in issues
|
|
|
|
And I should not see "Release 0.3" in issues
|
2012-06-27 14:20:35 -04:00
|
|
|
|
2012-08-03 12:49:54 -04:00
|
|
|
Scenario: I should see closed issues
|
|
|
|
Given I click link "Closed"
|
|
|
|
Then I should see "Release 0.3" in issues
|
|
|
|
And I should not see "Release 0.4" in issues
|
|
|
|
|
|
|
|
Scenario: I should see all issues
|
|
|
|
Given I click link "All"
|
|
|
|
Then I should see "Release 0.3" in issues
|
|
|
|
And I should see "Release 0.4" in issues
|
|
|
|
|
|
|
|
Scenario: I visit issue page
|
|
|
|
Given I click link "Release 0.4"
|
|
|
|
Then I should see issue "Release 0.4"
|
|
|
|
|
2015-03-31 02:53:42 -04:00
|
|
|
@javascript
|
2016-02-15 09:19:23 -05:00
|
|
|
Scenario: I filter by author
|
2015-03-31 02:53:42 -04:00
|
|
|
Given I add a user to project "Shop"
|
|
|
|
And I click "author" dropdown
|
|
|
|
Then I see current user as the first user
|
|
|
|
|
2012-08-03 12:49:54 -04:00
|
|
|
Scenario: I submit new unassigned issue
|
|
|
|
Given I click link "New Issue"
|
|
|
|
And I submit new issue "500 error on profile"
|
|
|
|
Then I should see issue "500 error on profile"
|
|
|
|
|
2014-07-31 07:14:27 -04:00
|
|
|
Scenario: I submit new unassigned issue with labels
|
|
|
|
Given project "Shop" has labels: "bug", "feature", "enhancement"
|
|
|
|
And I click link "New Issue"
|
|
|
|
And I submit new issue "500 error on profile" with label 'bug'
|
|
|
|
Then I should see issue "500 error on profile"
|
|
|
|
And I should see label 'bug' with issue
|
|
|
|
|
2012-08-03 12:49:54 -04:00
|
|
|
@javascript
|
|
|
|
Scenario: I comment issue
|
|
|
|
Given I visit issue page "Release 0.4"
|
|
|
|
And I leave a comment like "XML attached"
|
2012-08-03 12:59:55 -04:00
|
|
|
Then I should see comment "XML attached"
|
2015-03-20 08:11:12 -04:00
|
|
|
And I should see an error alert section within the comment form
|
2012-09-06 02:15:51 -04:00
|
|
|
|
2016-01-21 12:54:10 -05:00
|
|
|
@javascript
|
|
|
|
Scenario: Visiting Issues after being sorted the list
|
|
|
|
Given I visit project "Shop" issues page
|
|
|
|
And I sort the list by "Oldest updated"
|
|
|
|
And I visit my project's home page
|
|
|
|
And I visit project "Shop" issues page
|
|
|
|
Then The list should be sorted by "Oldest updated"
|
2016-01-22 18:43:21 -05:00
|
|
|
|
|
|
|
@javascript
|
|
|
|
Scenario: Visiting Merge Requests after being sorted the list
|
|
|
|
Given I visit project "Shop" issues page
|
|
|
|
And I sort the list by "Oldest updated"
|
|
|
|
And I visit project "Shop" merge requests page
|
|
|
|
Then The list should be sorted by "Oldest updated"
|
2016-01-21 12:54:10 -05:00
|
|
|
|
2016-01-22 17:00:35 -05:00
|
|
|
@javascript
|
|
|
|
Scenario: Visiting Merge Requests from a differente Project after sorting
|
|
|
|
Given I visit project "Shop" merge requests page
|
|
|
|
And I sort the list by "Oldest updated"
|
|
|
|
And I visit dashboard merge requests page
|
|
|
|
Then The list should be sorted by "Oldest updated"
|
|
|
|
|
2016-02-17 08:32:02 -05:00
|
|
|
@javascript
|
|
|
|
Scenario: Sort issues by upvotes/downvotes
|
|
|
|
Given project "Shop" have "Bugfix" open issue
|
|
|
|
And issue "Release 0.4" have 2 upvotes and 1 downvote
|
|
|
|
And issue "Tweet control" have 1 upvote and 2 downvotes
|
|
|
|
And I sort the list by "Most popular"
|
|
|
|
Then The list should be sorted by "Most popular"
|
|
|
|
And I sort the list by "Least popular"
|
|
|
|
Then The list should be sorted by "Least popular"
|
|
|
|
|
2012-09-06 02:15:51 -04:00
|
|
|
@javascript
|
|
|
|
Scenario: I search issue
|
2013-09-27 09:25:24 -04:00
|
|
|
Given I fill in issue search with "Re"
|
2012-09-06 02:15:51 -04:00
|
|
|
Then I should see "Release 0.4" in issues
|
|
|
|
And I should not see "Release 0.3" in issues
|
2013-09-27 09:25:24 -04:00
|
|
|
And I should not see "Tweet control" in issues
|
2012-09-06 02:15:51 -04:00
|
|
|
|
|
|
|
@javascript
|
|
|
|
Scenario: I search issue that not exist
|
2013-09-27 09:25:24 -04:00
|
|
|
Given I fill in issue search with "Bu"
|
2012-09-06 02:15:51 -04:00
|
|
|
Then I should not see "Release 0.4" in issues
|
|
|
|
And I should not see "Release 0.3" in issues
|
|
|
|
|
|
|
|
@javascript
|
|
|
|
Scenario: I search all issues
|
|
|
|
Given I click link "All"
|
2013-09-27 09:25:24 -04:00
|
|
|
And I fill in issue search with ".3"
|
2012-09-06 02:15:51 -04:00
|
|
|
Then I should see "Release 0.3" in issues
|
|
|
|
And I should not see "Release 0.4" in issues
|
2014-02-04 02:48:33 -05:00
|
|
|
|
2014-08-15 15:51:43 -04:00
|
|
|
@javascript
|
2014-08-19 21:43:02 -04:00
|
|
|
Scenario: Search issues when search string exactly matches issue description
|
|
|
|
Given project 'Shop' has issue 'Bugfix1' with description: 'Description for issue1'
|
|
|
|
And I fill in issue search with 'Description for issue1'
|
|
|
|
Then I should see 'Bugfix1' in issues
|
2014-08-15 15:51:43 -04:00
|
|
|
And I should not see "Release 0.4" in issues
|
|
|
|
And I should not see "Release 0.3" in issues
|
|
|
|
And I should not see "Tweet control" in issues
|
|
|
|
|
|
|
|
@javascript
|
2014-08-19 21:43:02 -04:00
|
|
|
Scenario: Search issues when search string partially matches issue description
|
|
|
|
Given project 'Shop' has issue 'Bugfix1' with description: 'Description for issue1'
|
|
|
|
And project 'Shop' has issue 'Feature1' with description: 'Feature submitted for issue1'
|
|
|
|
And I fill in issue search with 'issue1'
|
|
|
|
Then I should see 'Feature1' in issues
|
|
|
|
Then I should see 'Bugfix1' in issues
|
2014-08-15 15:51:43 -04:00
|
|
|
And I should not see "Release 0.4" in issues
|
|
|
|
And I should not see "Release 0.3" in issues
|
|
|
|
And I should not see "Tweet control" in issues
|
|
|
|
|
|
|
|
@javascript
|
2014-08-19 21:43:02 -04:00
|
|
|
Scenario: Search issues when search string matches no issue description
|
|
|
|
Given project 'Shop' has issue 'Bugfix1' with description: 'Description for issue1'
|
|
|
|
And I fill in issue search with 'Rock and roll'
|
|
|
|
Then I should not see 'Bugfix1' in issues
|
2014-08-15 15:51:43 -04:00
|
|
|
And I should not see "Release 0.4" in issues
|
|
|
|
And I should not see "Release 0.3" in issues
|
|
|
|
And I should not see "Tweet control" in issues
|
|
|
|
|
|
|
|
|
2014-02-04 02:48:33 -05:00
|
|
|
# Markdown
|
|
|
|
|
|
|
|
Scenario: Headers inside the description should have ids generated for them.
|
|
|
|
Given I visit issue page "Release 0.4"
|
|
|
|
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 issue page "Release 0.4"
|
|
|
|
And I leave a comment with a header containing "Comment with a header"
|
|
|
|
Then The comment with the header should not have an ID
|
2014-04-08 11:12:57 -04:00
|
|
|
|
2014-05-23 06:58:34 -04:00
|
|
|
@javascript
|
|
|
|
Scenario: Blocks inside comments should not build relative links
|
|
|
|
Given I visit issue page "Release 0.4"
|
|
|
|
And I leave a comment with code block
|
|
|
|
Then The code block should be unchanged
|
|
|
|
|
2014-04-08 11:12:57 -04:00
|
|
|
Scenario: Issues on empty project
|
|
|
|
Given empty project "Empty Project"
|
2016-03-21 06:40:13 -04:00
|
|
|
And I have an ssh key
|
2014-04-08 11:12:57 -04:00
|
|
|
When I visit empty project page
|
|
|
|
And I see empty project details with ssh clone info
|
|
|
|
When I visit empty project's issues page
|
|
|
|
Given I click link "New Issue"
|
|
|
|
And I submit new issue "500 error on profile"
|
|
|
|
Then I should see issue "500 error on profile"
|
2014-09-11 07:31:19 -04:00
|
|
|
|
|
|
|
Scenario: Clickable labels
|
|
|
|
Given issue 'Release 0.4' has label 'bug'
|
|
|
|
And I visit project "Shop" issues page
|
|
|
|
When I click label 'bug'
|
|
|
|
And I should see "Release 0.4" in issues
|
|
|
|
And I should not see "Tweet control" in issues
|
2014-10-06 02:59:03 -04:00
|
|
|
|
2015-03-02 18:05:23 -05:00
|
|
|
@javascript
|
|
|
|
Scenario: Issue notes should be editable with +1
|
2015-05-04 17:46:21 -04:00
|
|
|
Given project "Shop" have "Release 0.4" open issue
|
|
|
|
When I visit issue page "Release 0.4"
|
2015-03-02 18:05:23 -05:00
|
|
|
And I leave a comment with a header containing "Comment with a header"
|
|
|
|
Then The comment with the header should not have an ID
|
|
|
|
And I edit the last comment with a +1
|
|
|
|
Then I should see +1 in the description
|
|
|
|
|
2014-10-15 03:21:21 -04:00
|
|
|
# Issue description preview
|
|
|
|
|
|
|
|
@javascript
|
|
|
|
Scenario: I can't preview without text
|
|
|
|
Given I click link "New Issue"
|
|
|
|
And I haven't written any description text
|
2014-10-17 00:36:52 -04:00
|
|
|
Then The Markdown preview tab should say there is nothing to do
|
2014-10-15 03:21:21 -04:00
|
|
|
|
|
|
|
@javascript
|
|
|
|
Scenario: I can preview with text
|
|
|
|
Given I click link "New Issue"
|
2014-10-17 00:36:52 -04:00
|
|
|
And I write a description like ":+1: Nice"
|
|
|
|
Then The Markdown preview tab should display rendered Markdown
|
2014-10-15 03:21:21 -04:00
|
|
|
|
|
|
|
@javascript
|
|
|
|
Scenario: I preview an issue description
|
|
|
|
Given I click link "New Issue"
|
|
|
|
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 click link "New Issue"
|
|
|
|
And I preview a description text like "Bug fixed :smile:"
|
2014-10-17 00:36:52 -04:00
|
|
|
Then I should see the Markdown write tab
|
2014-10-17 00:38:08 -04:00
|
|
|
|
|
|
|
@javascript
|
|
|
|
Scenario: I can preview when editing an existing issue
|
|
|
|
Given I click link "Release 0.4"
|
|
|
|
And I click link "Edit" for the issue
|
|
|
|
And I preview a description text like "Bug fixed :smile:"
|
|
|
|
Then I should see the Markdown write tab
|
2015-03-16 11:20:17 -04:00
|
|
|
|
|
|
|
@javascript
|
|
|
|
Scenario: I can unsubscribe from issue
|
2015-05-04 17:46:21 -04:00
|
|
|
Given project "Shop" have "Release 0.4" open issue
|
|
|
|
When I visit issue page "Release 0.4"
|
2015-03-16 11:20:17 -04:00
|
|
|
Then I should see that I am subscribed
|
|
|
|
When I click button "Unsubscribe"
|
|
|
|
Then I should see that I am unsubscribed
|
2015-06-25 10:38:14 -04:00
|
|
|
|
2016-06-27 09:31:19 -04:00
|
|
|
@javascript
|
2015-06-25 10:38:14 -04:00
|
|
|
Scenario: I submit new unassigned issue as guest
|
|
|
|
Given public project "Community"
|
|
|
|
When I visit project "Community" page
|
2015-07-08 10:55:04 -04:00
|
|
|
And I visit project "Community" issues page
|
2015-06-25 10:38:14 -04:00
|
|
|
And I click link "New Issue"
|
|
|
|
And I should not see assignee field
|
|
|
|
And I should not see milestone field
|
|
|
|
And I should not see labels field
|
|
|
|
And I submit new issue "500 error on profile"
|
|
|
|
Then I should see issue "500 error on profile"
|
2015-12-12 18:39:47 -05:00
|
|
|
|
|
|
|
@javascript
|
|
|
|
Scenario: Another user adds a comment to issue I'm currently viewing
|
|
|
|
Given I visit issue page "Release 0.4"
|
|
|
|
And another user adds a comment with text "Yay!" to issue "Release 0.4"
|
|
|
|
Then I should see a new comment with text "Yay!"
|