BigW Consortium Gitlab

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

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

14 15 16 17 18 19 20 21 22 23 24 25 26 27
  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"

28 29 30 31 32 33
  @javascript
  Scenario: I visit issue page
    Given I add a user to project "Shop"
    And I click "author" dropdown
    Then I see current user as the first user

34 35 36 37 38
  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"

39 40 41 42 43 44 45
  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

46 47 48 49
  @javascript
  Scenario: I comment issue
    Given I visit issue page "Release 0.4"
    And I leave a comment like "XML attached"
50
    Then I should see comment "XML attached"
51
    And I should see an error alert section within the comment form
randx committed
52 53 54

  @javascript
  Scenario: I search issue
55
    Given I fill in issue search with "Re"
randx committed
56 57
    Then I should see "Release 0.4" in issues
    And I should not see "Release 0.3" in issues
58
    And I should not see "Tweet control" in issues
randx committed
59 60 61

  @javascript
  Scenario: I search issue that not exist
62
    Given I fill in issue search with "Bu"
randx committed
63 64 65 66 67 68
    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"
69
    And I fill in issue search with ".3"
randx committed
70 71
    Then I should see "Release 0.3" in issues
    And I should not see "Release 0.4" in issues
72

73
  @javascript
74 75 76 77
  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
78 79 80 81 82
    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
83 84 85 86 87 88
  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
89 90 91 92 93
    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
94 95 96 97
  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
98 99 100 101 102
    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


103 104 105 106 107 108 109 110 111 112 113
  # 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
114

Marin Jankovski committed
115 116 117 118 119 120
  @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

121 122 123 124 125 126 127 128
  Scenario: Issues on empty project
    Given empty project "Empty Project"
    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"
129 130 131 132 133 134 135

  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
136

137 138
  @javascript
  Scenario: Issue notes should be editable with +1
139 140
    Given project "Shop" have "Release 0.4" open issue
    When I visit issue page "Release 0.4"
141 142 143 144 145
    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

146 147 148 149 150 151
  # 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
152
    Then The Markdown preview tab should say there is nothing to do
153 154 155 156

  @javascript
  Scenario: I can preview with text
    Given I click link "New Issue"
157 158
    And I write a description like ":+1: Nice"
    Then The Markdown preview tab should display rendered Markdown
159 160 161 162 163 164 165 166 167 168 169 170

  @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:"
171
    Then I should see the Markdown write tab
172 173 174 175 176 177 178

  @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 committed
179 180 181

  @javascript
  Scenario: I can unsubscribe from issue
182 183
    Given project "Shop" have "Release 0.4" open issue
    When I visit issue page "Release 0.4"
Valery Sizov committed
184 185 186
    Then I should see that I am subscribed
    When I click button "Unsubscribe"
    Then I should see that I am unsubscribed
187 188 189 190 191

  Scenario: I submit new unassigned issue as guest
    Given I logout
    Given public project "Community"
    When I visit project "Community" page
192
    And I visit project "Community" issues page
193 194 195 196 197 198 199
    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"