issues.feature 6.45 KB
Newer Older
Douwe Maan's avatar
Douwe Maan committed
1
@project_issues
2
Feature: Project Issues
3
  Background:
4
    Given I sign in as a user
5 6
    And I own project "Shop"
    And project "Shop" have "Release 0.4" open issue
7
    And project "Shop" have "Tweet control" open issue
8
    And project "Shop" have "Release 0.3" closed issue
randx's avatar
randx committed
9
    And I visit project "Shop" issues page
10 11

  Scenario: I should see open issues
12 13
    Given I should see "Release 0.4" in issues
    And I should not see "Release 0.3" in issues
14

15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
  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"

  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"

34
  @javascript
35 36 37 38 39 40 41
  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

42 43 44 45
  @javascript
  Scenario: I comment issue
    Given I visit issue page "Release 0.4"
    And I leave a comment like "XML attached"
46
    Then I should see comment "XML attached"
47
    And I should see an error alert section within the comment form
randx's avatar
randx committed
48

49 50 51 52 53 54 55
  @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"
56 57 58

  @javascript
  Scenario: Visiting Merge Requests after being sorted the list
Luke "Jared" Bennett's avatar
Luke "Jared" Bennett committed
59 60
    Given project "Shop" has a "Bugfix MR" merge request open
    And I visit project "Shop" issues page
61 62 63
    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"
64

65 66
  @javascript
  Scenario: Visiting Merge Requests from a differente Project after sorting
Luke "Jared" Bennett's avatar
Luke "Jared" Bennett committed
67 68
    Given project "Shop" has a "Bugfix MR" merge request open
    And I visit project "Shop" merge requests page
69 70 71 72
    And I sort the list by "Oldest updated"
    And I visit dashboard merge requests page
    Then The list should be sorted by "Oldest updated"

73 74 75 76 77 78 79 80 81 82
  @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"

83 84
  # Markdown

Regis's avatar
Regis committed
85
  @javascript
86 87 88 89 90 91 92 93 94
  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
95

Marin Jankovski's avatar
Marin Jankovski committed
96 97 98 99 100 101
  @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

102 103
  Scenario: Issues on empty project
    Given empty project "Empty Project"
104
    And I have an ssh key
105 106 107 108 109 110
    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"
111 112 113 114 115 116 117

  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
118

119 120
  @javascript
  Scenario: Issue notes should be editable with +1
121 122
    Given project "Shop" have "Release 0.4" open issue
    When I visit issue page "Release 0.4"
123 124 125 126 127
    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

128 129 130 131 132 133
  # 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
Vinnie Okada's avatar
Vinnie Okada committed
134
    Then The Markdown preview tab should say there is nothing to do
135 136 137 138

  @javascript
  Scenario: I can preview with text
    Given I click link "New Issue"
Vinnie Okada's avatar
Vinnie Okada committed
139 140
    And I write a description like ":+1: Nice"
    Then The Markdown preview tab should display rendered Markdown
141 142 143 144 145 146 147 148 149 150 151 152

  @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:"
Vinnie Okada's avatar
Vinnie Okada committed
153
    Then I should see the Markdown write tab
Vinnie Okada's avatar
Vinnie Okada committed
154 155 156 157 158 159 160

  @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
Valery Sizov's avatar
tests  
Valery Sizov committed
161 162 163

  @javascript
  Scenario: I can unsubscribe from issue
164 165
    Given project "Shop" have "Release 0.4" open issue
    When I visit issue page "Release 0.4"
Valery Sizov's avatar
tests  
Valery Sizov committed
166 167 168
    Then I should see that I am subscribed
    When I click button "Unsubscribe"
    Then I should see that I am unsubscribed
169

Phil Hughes's avatar
Phil Hughes committed
170
  @javascript
171 172 173
  Scenario: I submit new unassigned issue as guest
    Given public project "Community"
    When I visit project "Community" page
174
    And I visit project "Community" issues page
175 176 177 178 179 180
    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"