public_projects.feature 3.91 KB
Newer Older
1 2 3
Feature: Public Projects Feature
  Background:
    Given public project "Community"
4
    And internal project "Internal"
5 6 7 8 9
    And private project "Enterprise"

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

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

17 18
  Scenario: I visit internal project page
    When I visit project "Internal" page
19
    Then I should be redirected to sign in page
20 21 22

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

25 26
  Scenario: I visit an empty public project page
    Given public empty project "Empty Public Project"
27 28
    When I visit empty project page
    Then I should see empty public project details
29 30 31 32 33 34 35 36
    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
37 38 39 40 41 42 43 44 45 46 47 48

  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
49 50 51 52

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

55
  Scenario: I visit public project page as user
56 57 58
    Given I sign in as a user
    When I visit project "Community" page
    Then I should see project "Community" home page
59 60 61 62 63 64
    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
65 66 67 68 69

  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
70

71 72 73 74 75
  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
76 77 78 79 80 81

  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
82 83 84 85 86

  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
87
    And project "Community" has "Bug fix" open merge request
88 89 90 91 92
    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
93
    And project "Community" has "Bug fix" open merge request
94 95 96 97 98 99
    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
100
    And project "Internal" has "Feature implemented" open merge request
101
    Then I should see list of merge requests for "Internal" project