summaryrefslogtreecommitdiff
path: root/features/explore/projects.feature
blob: a1b2972267871f314fb427560d9d4038ab2e7476 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
@public
Feature: Explore Projects
  Background:
    Given public project "Community"
    And internal project "Internal"
    And private project "Enterprise"

  Scenario: I visit public area
    When I visit the public projects area
    Then I should see project "Community"
    And I should not see project "Internal"
    And I should not see project "Enterprise"

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

  Scenario: I visit internal project page
    When I visit project "Internal" page
    Then I should be redirected to sign in page

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

  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
    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

  Scenario: I visit public area as user
    Given I sign in as a user
    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"

  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

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

  Scenario: I visit public project page as user
    Given I sign in as a user
    When I visit project "Community" page
    Then I should see project "Community" home page
    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

  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

  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

  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

  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
    And project "Community" has "Bug fix" open merge request
    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
    And project "Community" has "Bug fix" open merge request
    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
    And project "Internal" has "Feature implemented" open merge request
    Then I should see list of merge requests for "Internal" project

  Scenario: Trending page
    Given I sign in as a user
    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"

  Scenario: Most starred page
    Given I sign in as a user
    When I visit the explore starred projects
    Then I should see project "Community"
    And I should see project "Internal"