projects.feature 4.71 KB
Newer Older
1
@public
2
Feature: Explore Projects
3 4
  Background:
    Given public project "Community"
5
    And internal project "Internal"
6 7 8
    And private project "Enterprise"

  Scenario: I visit public area
Artem Sidorenko's avatar
Artem Sidorenko committed
9
    Given archived project "Archive"
10 11
    When I visit the public projects area
    Then I should see project "Community"
12
    And I should not see project "Internal"
13
    And I should not see project "Enterprise"
Artem Sidorenko's avatar
Artem Sidorenko committed
14
    And I should not see project "Archive"
15 16

  Scenario: I visit public project page
17 18
    When I visit project "Community" page
    Then I should see project "Community" home page
19

20 21
  Scenario: I visit internal project page
    When I visit project "Internal" page
22
    Then I should be redirected to sign in page
23 24 25

  Scenario: I visit private project page
    When I visit project "Enterprise" page
26
    Then I should be redirected to sign in page
27

28 29
  Scenario: I visit an empty public project page
    Given public empty project "Empty Public Project"
30 31
    When I visit empty project page
    Then I should see empty public project details
32 33 34 35 36 37 38 39
    And I should see empty public project details with http clone info

  Scenario: I visit an empty public project page as user
    Given I sign in as a user
    And public empty project "Empty Public Project"
    When I visit empty project page
    Then I should see empty public project details
    And I should see empty public project details with ssh clone info
40 41

  Scenario: I visit public area as user
Artem Sidorenko's avatar
Artem Sidorenko committed
42 43
    Given archived project "Archive"
    And I sign in as a user
44 45 46 47
    When I visit the public projects area
    Then I should see project "Community"
    And I should see project "Internal"
    And I should not see project "Enterprise"
Artem Sidorenko's avatar
Artem Sidorenko committed
48
    And I should not see project "Archive"
49 50 51 52 53

  Scenario: I visit internal project page as user
    Given I sign in as a user
    When I visit project "Internal" page
    Then I should see project "Internal" home page
54 55 56 57

  Scenario: I visit public project page
    When I visit project "Community" page
    Then I should see project "Community" home page
58
    And I should see an http link to the repository
59

60
  Scenario: I visit public project page as user
61 62 63
    Given I sign in as a user
    When I visit project "Community" page
    Then I should see project "Community" home page
64 65 66 67 68 69
    And I should see an ssh link to the repository

  Scenario: I visit an empty public project page
    Given public empty project "Empty Public Project"
    When I visit empty project page
    Then I should see empty public project details
70 71 72 73 74

  Scenario: I visit public project issues page as a non authorized user
    Given I visit project "Community" page
    And I visit "Community" issues page
    Then I should see list of issues for "Community" project
75

76 77 78 79 80
  Scenario: I visit public project issues page as authorized user
    Given I sign in as a user
    Given I visit project "Community" page
    And I visit "Community" issues page
    Then I should see list of issues for "Community" project
81 82 83 84 85 86

  Scenario: I visit internal project issues page as authorized user
    Given I sign in as a user
    Given I visit project "Internal" page
    And I visit "Internal" issues page
    Then I should see list of issues for "Internal" project
87 88 89 90 91

  Scenario: I visit public project merge requests page as an authorized user
    Given I sign in as a user
    Given I visit project "Community" page
    And I visit "Community" merge requests page
92
    And project "Community" has "Bug fix" open merge request
93 94 95 96 97
    Then I should see list of merge requests for "Community" project

  Scenario: I visit public project merge requests page as a non authorized user
    Given I visit project "Community" page
    And I visit "Community" merge requests page
98
    And project "Community" has "Bug fix" open merge request
99 100 101 102 103 104
    Then I should see list of merge requests for "Community" project

  Scenario: I visit internal project merge requests page as an authorized user
    Given I sign in as a user
    Given I visit project "Internal" page
    And I visit "Internal" merge requests page
105
    And project "Internal" has "Feature implemented" open merge request
106
    Then I should see list of merge requests for "Internal" project
107 108

  Scenario: Trending page
Artem Sidorenko's avatar
Artem Sidorenko committed
109 110 111
    Given archived project "Archive"
    And project "Archive" has comments
    And I sign in as a user
112 113 114 115 116
    And project "Community" has comments
    When I visit the explore trending projects
    Then I should see project "Community"
    And I should not see project "Internal"
    And I should not see project "Enterprise"
Artem Sidorenko's avatar
Artem Sidorenko committed
117
    And I should not see project "Archive"
118 119

  Scenario: Most starred page
Artem Sidorenko's avatar
Artem Sidorenko committed
120 121
    Given archived project "Archive"
    And I sign in as a user
122 123 124
    When I visit the explore starred projects
    Then I should see project "Community"
    And I should see project "Internal"
Artem Sidorenko's avatar
Artem Sidorenko committed
125
    And I should see project "Archive"