BigW Consortium Gitlab

user.feature 2.85 KB
Newer Older
1 2
Feature: User
  Background:
3
    Given User "John Doe" exists
4
    And "John Doe" owns private project "Enterprise"
5 6 7

  # Signed out

8 9 10
  Scenario: I visit user "John Doe" page while not signed in when he owns a public project
    Given "John Doe" owns internal project "Internal"
    And "John Doe" owns public project "Community"
11 12 13 14 15 16 17 18
    When I visit user "John Doe" page
    Then I should see user "John Doe" page
    And I should not see project "Enterprise"
    And I should not see project "Internal"
    And I should see project "Community"

  # Signed in as someone else

19 20 21
  Scenario: I visit user "John Doe" page while signed in as someone else when he owns a public project
    Given "John Doe" owns public project "Community"
    And "John Doe" owns internal project "Internal"
22 23 24 25 26 27 28 29
    And I sign in as a user
    When I visit user "John Doe" page
    Then I should see user "John Doe" page
    And I should not see project "Enterprise"
    And I should see project "Internal"
    And I should see project "Community"

  Scenario: I visit user "John Doe" page while signed in as someone else when he is not authorized to a public project
30
    Given "John Doe" owns internal project "Internal"
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
    And I sign in as a user
    When I visit user "John Doe" page
    Then I should see user "John Doe" page
    And I should not see project "Enterprise"
    And I should see project "Internal"
    And I should not see project "Community"

  Scenario: I visit user "John Doe" page while signed in as someone else when he is not authorized to a project I can see
    Given I sign in as a user
    When I visit user "John Doe" page
    Then I should see user "John Doe" page
    And I should not see project "Enterprise"
    And I should not see project "Internal"
    And I should not see project "Community"

  # Signed in as the user himself

  Scenario: I visit user "John Doe" page while signed in as "John Doe" when he has a public project
49 50
    Given "John Doe" owns internal project "Internal"
    And "John Doe" owns public project "Community"
51 52 53 54 55 56 57 58 59 60 61 62 63 64
    And I sign in as "John Doe"
    When I visit user "John Doe" page
    Then I should see user "John Doe" page
    And I should see project "Enterprise"
    And I should see project "Internal"
    And I should see project "Community"

  Scenario: I visit user "John Doe" page while signed in as "John Doe" when he has no public project
    Given I sign in as "John Doe"
    When I visit user "John Doe" page
    Then I should see user "John Doe" page
    And I should see project "Enterprise"
    And I should not see project "Internal"
    And I should not see project "Community"
65 66 67 68 69 70 71 72 73

  @javascript
  Scenario: "John Doe" contribution profile
    Given I sign in as a user
    And "John Doe" has contributions
    When I visit user "John Doe" page
    Then I should see user "John Doe" page
    And I should see contributed projects
    And I should see contributions calendar