Commit 080bd12e167dceb3274bb488b7be787379d126b4

Authored by Nihad Abbasov
1 parent 7aeb92b8

rewrite project commits features using spinach

Showing 43 changed files with 512 additions and 354 deletions   Show diff stats
features/project/commits/branches.feature 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +Feature: Project Browse branches
  2 + Background:
  3 + Given I sign in as a user
  4 + And I own project "Shop"
  5 + And project "Shop" has protected branches
  6 + Given I visit project branches page
  7 +
  8 + Scenario: I can see project recent git branches
  9 + Then I should see "Shop" recent branches list
  10 +
  11 + Scenario: I can see project all git branches
  12 + Given I click link "All"
  13 + Then I should see "Shop" all branches list
  14 +
  15 + Scenario: I can see project protected git branches
  16 + Given I click link "Protected"
  17 + Then I should see "Shop" protected branches list
  18 +
  19 + # @wip
  20 + # Scenario: I can download project by branch
  21 +
  22 + # @wip
  23 + # Scenario: I can view protected branches
  24 +
  25 + # @wip
  26 + # Scenario: I can manage protected branches
features/project/commits/commit_comments.feature 0 → 100644
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +Feature: Project Comment commit
  2 + Background:
  3 + Given I sign in as a user
  4 + And I own project "Shop"
  5 + Given I visit project commit page
  6 +
  7 + @javascript
  8 + Scenario: I comment commit
  9 + Given I leave a comment like "XML attached"
  10 + Then I should see comment "XML attached"
features/project/commits/commits.feature 0 → 100644
@@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
  1 +Feature: Project Browse commits
  2 + Background:
  3 + Given I sign in as a user
  4 + And I own project "Shop"
  5 + Given I visit project commits page
  6 +
  7 + Scenario: I browse commits list for master branch
  8 + Then I see project commits
  9 +
  10 + Scenario: I browse atom feed of commits list for master branch
  11 + Given I click atom feed link
  12 + Then I see commits atom feed
  13 +
  14 + Scenario: I browse commit from list
  15 + Given I click on commit link
  16 + Then I see commit info
  17 +
  18 + Scenario: I compare refs
  19 + Given I visit compare refs page
  20 + And I fill compare fields with refs
  21 + And I see compared refs
features/project/commits/tags.feature 0 → 100644
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
  1 +Feature: Project Browse tags
  2 + Background:
  3 + Given I sign in as a user
  4 + And I own project "Shop"
  5 + Given I visit project tags page
  6 +
  7 + Scenario: I can see all git tags
  8 + Then I should see "Shop" all tags list
  9 +
  10 + # @wip
  11 + # Scenario: I can download project by tag
features/project/create_project.feature 0 → 100644
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
  1 +Feature: Create Project
  2 + In order to get access to project sections
  3 + A user with ability to create a project
  4 + Should be able to create a new one
  5 +
  6 + Scenario: User create a project
  7 + Given I signin as a user
  8 + When I visit new project page
  9 + And fill project form with valid data
  10 + Then I should see project page
  11 + And I should see empty project instuctions
features/project/deploy_keys.feature 0 → 100644
features/project/issues/issues.feature 0 → 100644
@@ -0,0 +1,82 @@ @@ -0,0 +1,82 @@
  1 +Feature: Issues
  2 + Background:
  3 + Given I signin as a user
  4 + And I own project "Shop"
  5 + And project "Shop" have "Release 0.4" open issue
  6 + And project "Shop" have "Release 0.3" closed issue
  7 + And I visit project "Shop" issues page
  8 +
  9 + Scenario: I should see open issues
  10 + Given I should see "Release 0.4" in issues
  11 + And I should not see "Release 0.3" in issues
  12 +
  13 + Scenario: I should see closed issues
  14 + Given I click link "Closed"
  15 + Then I should see "Release 0.3" in issues
  16 + And I should not see "Release 0.4" in issues
  17 +
  18 + Scenario: I should see all issues
  19 + Given I click link "All"
  20 + Then I should see "Release 0.3" in issues
  21 + And I should see "Release 0.4" in issues
  22 +
  23 + Scenario: I visit issue page
  24 + Given I click link "Release 0.4"
  25 + Then I should see issue "Release 0.4"
  26 +
  27 + @javascript
  28 + Scenario: I submit new unassigned issue
  29 + Given I click link "New Issue"
  30 + And I submit new issue "500 error on profile"
  31 + Given I click link "500 error on profile"
  32 + Then I should see issue "500 error on profile"
  33 +
  34 + @javascript
  35 + Scenario: I comment issue
  36 + Given I visit issue page "Release 0.4"
  37 + And I leave a comment like "XML attached"
  38 + Then I should see comment "XML attached"
  39 +
  40 + @javascript
  41 + Scenario: I search issue
  42 + Given I fill in issue search with "Release"
  43 + Then I should see "Release 0.4" in issues
  44 + And I should not see "Release 0.3" in issues
  45 +
  46 + @javascript
  47 + Scenario: I search issue that not exist
  48 + Given I fill in issue search with "Bug"
  49 + Then I should not see "Release 0.4" in issues
  50 + And I should not see "Release 0.3" in issues
  51 +
  52 +
  53 + @javascript
  54 + Scenario: I search all issues
  55 + Given I click link "All"
  56 + And I fill in issue search with "0.3"
  57 + Then I should see "Release 0.3" in issues
  58 + And I should not see "Release 0.4" in issues
  59 +
  60 + @javascript
  61 + Scenario: I clear search
  62 + Given I click link "All"
  63 + And I fill in issue search with "Something"
  64 + And I fill in issue search with ""
  65 + Then I should see "Release 0.4" in issues
  66 + And I should see "Release 0.3" in issues
  67 +
  68 + @javascript
  69 + Scenario: I create Issue with pre-selected milestone
  70 + Given project "Shop" has milestone "v2.2"
  71 + And project "Shop" has milestone "v3.0"
  72 + And I visit project "Shop" issues page
  73 + When I select milestone "v3.0"
  74 + And I click link "New Issue"
  75 + Then I should see selected milestone with title "v3.0"
  76 +
  77 + @javascript
  78 + Scenario: I create Issue with pre-selected assignee
  79 + When I select first assignee from "Shop" project
  80 + And I click link "New Issue"
  81 + Then I should see first assignee from "Shop" as selected assignee
  82 +
features/project/issues/labels.feature 0 → 100644
@@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
  1 +Feature: Labels
  2 + Background:
  3 + Given I signin as a user
  4 + And I own project "Shop"
  5 + And project "Shop" have issues tags:
  6 + | name |
  7 + | bug |
  8 + | feature |
  9 + Given I visit project "Shop" labels page
  10 +
  11 + Scenario: I should see active milestones
  12 + Then I should see label "bug"
  13 + And I should see label "feature"
features/project/issues/milestones.feature 0 → 100644
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
  1 +Feature: Milestones
  2 + Background:
  3 + Given I signin as a user
  4 + And I own project "Shop"
  5 + And project "Shop" has milestone "v2.2"
  6 + Given I visit project "Shop" milestones page
  7 +
  8 + Scenario: I should see active milestones
  9 + Then I should see milestone "v2.2"
  10 +
  11 + Scenario: I should see milestone
  12 + Given I click link "v2.2"
  13 + Then I should see milestone "v2.2"
  14 +
  15 + Scenario: I create new milestone
  16 + Given I click link "New Milestone"
  17 + And I submit new milestone "v2.3"
  18 + Then I should see milestone "v2.3"
features/project/merge_requests.feature 0 → 100644
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
  1 +Feature: Merge Requests
  2 + Background:
  3 + Given I signin as a user
  4 + And I own project "Shop"
  5 + And project "Shop" have "Bug NS-04" open merge request
  6 + And project "Shop" have "Feature NS-03" closed merge request
  7 + And I visit project "Shop" merge requests page
  8 +
  9 + Scenario: I should see open merge requests
  10 + Then I should see "Bug NS-04" in merge requests
  11 + And I should not see "Feature NS-03" in merge requests
  12 +
  13 + Scenario: I should see closed merge requests
  14 + Given I click link "Closed"
  15 + Then I should see "Feature NS-03" in merge requests
  16 + And I should not see "Bug NS-04" in merge requests
  17 +
  18 + Scenario: I should see all merge requests
  19 + Given I click link "All"
  20 + Then I should see "Feature NS-03" in merge requests
  21 + And I should see "Bug NS-04" in merge requests
  22 +
  23 + Scenario: I visit merge request page
  24 + Given I click link "Bug NS-04"
  25 + Then I should see merge request "Bug NS-04"
  26 +
  27 + Scenario: I close merge request page
  28 + Given I click link "Bug NS-04"
  29 + And I click link "Close"
  30 + Then I should see closed merge request "Bug NS-04"
  31 +
  32 + Scenario: I submit new unassigned merge request
  33 + Given I click link "New Merge Request"
  34 + And I submit new merge request "Wiki Feature"
  35 + Then I should see merge request "Wiki Feature"
  36 +
  37 + @javascript
  38 + Scenario: I comment merge request
  39 + Given I visit merge request page "Bug NS-04"
  40 + And I leave a comment like "XML attached"
  41 + Then I should see comment "XML attached"
  42 +
features/project/network.feature 0 → 100644
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +@javascript
  2 +Feature: Project Network Graph
  3 +
  4 + Background:
  5 + Given I signin as a user
  6 + And I own project "Shop"
  7 + And I visit project "Shop" network page
  8 +
  9 + Scenario: I should see project network
  10 + Then page should have network graph
features/project/project.feature 0 → 100644
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
  1 +Feature: Project
  2 + Background:
  3 + Given I signin as a user
  4 + And I own project "Shop"
  5 + And I visit project "Shop" page
  6 +
  7 + Scenario: I should see project activity
  8 +
  9 + Scenario: I edit project
  10 +
  11 + Scenario: I visit attachments
features/project/snippets.feature 0 → 100644
features/project/source/browse_files.feature 0 → 100644
@@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
  1 +Feature: Browse git repo
  2 + Background:
  3 + Given I signin as a user
  4 + And I own project "Shop"
  5 + Given I visit project source page
  6 +
  7 + Scenario: I browse files from master branch
  8 + Then I should see files from repository
  9 +
  10 + Scenario: I browse files for specific ref
  11 + Given I visit project source page for "8470d70"
  12 + Then I should see files from repository for "8470d70"
  13 +
  14 + Scenario: I browse file content
  15 + Given I click on file from repo
  16 + Then I should see it content
  17 +
  18 + Scenario: I browse raw file
  19 + Given I visit blob file from repo
  20 + And I click on raw button
  21 + Then I should see raw file content
  22 +
  23 +
features/project/source/git_blame.feature 0 → 100644
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +Feature: Browse git repo
  2 + Background:
  3 + Given I signin as a user
  4 + And I own project "Shop"
  5 + Given I visit project source page
  6 +
  7 + Scenario: I blame file
  8 + Given I click on file from repo
  9 + And I click blame button
  10 + Then I should see git file blame
features/project/team_management.feature 0 → 100644
@@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
  1 +Feature: Project Team management
  2 + Background:
  3 + Given I signin as a user
  4 + And I own project "Shop"
  5 + And gitlab user "Mike"
  6 + And gitlab user "Sam"
  7 + And "Sam" is "Shop" developer
  8 + And I visit project "Shop" team page
  9 +
  10 + Scenario: See all team members
  11 + Then I should be able to see myself in team
  12 + And I should see "Sam" in team list
  13 +
  14 + Scenario: Add user to project
  15 + Given I click link "New Team Member"
  16 + And I select "Mike" as "Reporter"
  17 + Then I should see "Mike" in team list as "Reporter"
  18 +
  19 + @javascript
  20 + Scenario: Update user access
  21 + Given I should see "Sam" in team list as "Developer"
  22 + And I change "Sam" role to "Reporter"
  23 + Then I visit project "Shop" team page
  24 + And I should see "Sam" in team list as "Reporter"
  25 +
  26 + Scenario: View team member profile
  27 + Given I click link "Sam"
  28 + Then I should see "Sam" team profile
  29 +
  30 + Scenario: Cancel team member
  31 + Given I click link "Sam"
  32 + And I click link "Remove from team"
  33 + Then I visit project "Shop" team page
  34 + And I should not see "Sam" in team list
  35 +
features/project/wall.feature 0 → 100644
@@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
  1 +@javascript
  2 +Feature: Project Wall
  3 + In order to use Project Wall
  4 + A user
  5 + Should be able to read & write messages
  6 +
  7 + Background:
  8 + Given I signin as a user
  9 + And I own project "Shop"
  10 + And I visit project "Shop" wall page
  11 +
  12 + Scenario: Write comment
  13 + Given I write new comment "my special test message"
  14 + Then I should see project wall note "my special test message"
  15 +
  16 + Then I visit project "Shop" wall page
  17 + And I should see project wall note "my special test message"
features/project/web_hooks.feature 0 → 100644
features/project/wiki.feature 0 → 100644
@@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
  1 +Feature: Wiki
  2 + Background:
  3 + Given I signin as a user
  4 + And I own project "Shop"
  5 + Given I visit project wiki page
  6 +
  7 + Scenario: Add new page
  8 + Given I create Wiki page
  9 + Then I should see newly created wiki page
  10 +
  11 + @javascript
  12 + Scenario: I comment wiki page
  13 + Given I create Wiki page
  14 + And I leave a comment like "XML attached"
  15 + Then I should see comment "XML attached"
features/projects/commits/branches.feature
@@ -1,23 +0,0 @@ @@ -1,23 +0,0 @@
1 -Feature: Browse branches  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - And project "Shop" has protected branches  
6 - Given I visit project branches page  
7 -  
8 - Scenario: I can see project recent git branches  
9 - Then I should see "Shop" recent branches list  
10 -  
11 - Scenario: I can see project all git branches  
12 - Given I click link "All"  
13 - Then I should see "Shop" all branches list  
14 -  
15 - Scenario: I can see project protected git branches  
16 - Given I click link "Protected"  
17 - Then I should see "Shop" protected branches list  
18 -  
19 - Scenario: I can download project by branch  
20 -  
21 - Scenario: I can view protected branches  
22 -  
23 - Scenario: I can manage protected branches  
features/projects/commits/commit_comments.feature
@@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
1 -Feature: Comment commit  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - Given I visit project commit page  
6 -  
7 - @javascript  
8 - Scenario: I comment commit  
9 - Given I leave a comment like "XML attached"  
10 - Then I should see comment "XML attached"  
features/projects/commits/commits.feature
@@ -1,22 +0,0 @@ @@ -1,22 +0,0 @@
1 -Feature: Browse commits  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - Given I visit project commits page  
6 -  
7 - Scenario: I browse commits list for master branch  
8 - Then I see project commits  
9 -  
10 - Scenario: I browse atom feed of commits list for master branch  
11 - Given I click atom feed link  
12 - Then I see commits atom feed  
13 -  
14 - Scenario: I browse commit from list  
15 - Given I click on commit link  
16 - Then I see commit info  
17 -  
18 - Scenario: I compare refs  
19 - Given I visit compare refs page  
20 - And I fill compare fields with refs  
21 - And I see compared refs  
22 -  
features/projects/commits/tags.feature
@@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
1 -Feature: Browse tags  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - Given I visit project tags page  
6 -  
7 - Scenario: I can see all git tags  
8 - Then I should see "Shop" all tags list  
9 -  
10 - Scenario: I can download project by tag  
features/projects/create_project.feature
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 -Feature: Create Project  
2 - In order to get access to project sections  
3 - A user with ability to create a project  
4 - Should be able to create a new one  
5 -  
6 - Scenario: User create a project  
7 - Given I signin as a user  
8 - When I visit new project page  
9 - And fill project form with valid data  
10 - Then I should see project page  
11 - And I should see empty project instuctions  
features/projects/deploy_keys.feature
features/projects/issues/issues.feature
@@ -1,82 +0,0 @@ @@ -1,82 +0,0 @@
1 -Feature: Issues  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - And project "Shop" have "Release 0.4" open issue  
6 - And project "Shop" have "Release 0.3" closed issue  
7 - And I visit project "Shop" issues page  
8 -  
9 - Scenario: I should see open issues  
10 - Given I should see "Release 0.4" in issues  
11 - And I should not see "Release 0.3" in issues  
12 -  
13 - Scenario: I should see closed issues  
14 - Given I click link "Closed"  
15 - Then I should see "Release 0.3" in issues  
16 - And I should not see "Release 0.4" in issues  
17 -  
18 - Scenario: I should see all issues  
19 - Given I click link "All"  
20 - Then I should see "Release 0.3" in issues  
21 - And I should see "Release 0.4" in issues  
22 -  
23 - Scenario: I visit issue page  
24 - Given I click link "Release 0.4"  
25 - Then I should see issue "Release 0.4"  
26 -  
27 - @javascript  
28 - Scenario: I submit new unassigned issue  
29 - Given I click link "New Issue"  
30 - And I submit new issue "500 error on profile"  
31 - Given I click link "500 error on profile"  
32 - Then I should see issue "500 error on profile"  
33 -  
34 - @javascript  
35 - Scenario: I comment issue  
36 - Given I visit issue page "Release 0.4"  
37 - And I leave a comment like "XML attached"  
38 - Then I should see comment "XML attached"  
39 -  
40 - @javascript  
41 - Scenario: I search issue  
42 - Given I fill in issue search with "Release"  
43 - Then I should see "Release 0.4" in issues  
44 - And I should not see "Release 0.3" in issues  
45 -  
46 - @javascript  
47 - Scenario: I search issue that not exist  
48 - Given I fill in issue search with "Bug"  
49 - Then I should not see "Release 0.4" in issues  
50 - And I should not see "Release 0.3" in issues  
51 -  
52 -  
53 - @javascript  
54 - Scenario: I search all issues  
55 - Given I click link "All"  
56 - And I fill in issue search with "0.3"  
57 - Then I should see "Release 0.3" in issues  
58 - And I should not see "Release 0.4" in issues  
59 -  
60 - @javascript  
61 - Scenario: I clear search  
62 - Given I click link "All"  
63 - And I fill in issue search with "Something"  
64 - And I fill in issue search with ""  
65 - Then I should see "Release 0.4" in issues  
66 - And I should see "Release 0.3" in issues  
67 -  
68 - @javascript  
69 - Scenario: I create Issue with pre-selected milestone  
70 - Given project "Shop" has milestone "v2.2"  
71 - And project "Shop" has milestone "v3.0"  
72 - And I visit project "Shop" issues page  
73 - When I select milestone "v3.0"  
74 - And I click link "New Issue"  
75 - Then I should see selected milestone with title "v3.0"  
76 -  
77 - @javascript  
78 - Scenario: I create Issue with pre-selected assignee  
79 - When I select first assignee from "Shop" project  
80 - And I click link "New Issue"  
81 - Then I should see first assignee from "Shop" as selected assignee  
82 -  
features/projects/issues/labels.feature
@@ -1,13 +0,0 @@ @@ -1,13 +0,0 @@
1 -Feature: Labels  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - And project "Shop" have issues tags:  
6 - | name |  
7 - | bug |  
8 - | feature |  
9 - Given I visit project "Shop" labels page  
10 -  
11 - Scenario: I should see active milestones  
12 - Then I should see label "bug"  
13 - And I should see label "feature"  
features/projects/issues/milestones.feature
@@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
1 -Feature: Milestones  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - And project "Shop" has milestone "v2.2"  
6 - Given I visit project "Shop" milestones page  
7 -  
8 - Scenario: I should see active milestones  
9 - Then I should see milestone "v2.2"  
10 -  
11 - Scenario: I should see milestone  
12 - Given I click link "v2.2"  
13 - Then I should see milestone "v2.2"  
14 -  
15 - Scenario: I create new milestone  
16 - Given I click link "New Milestone"  
17 - And I submit new milestone "v2.3"  
18 - Then I should see milestone "v2.3"  
features/projects/merge_requests.feature
@@ -1,42 +0,0 @@ @@ -1,42 +0,0 @@
1 -Feature: Merge Requests  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - And project "Shop" have "Bug NS-04" open merge request  
6 - And project "Shop" have "Feature NS-03" closed merge request  
7 - And I visit project "Shop" merge requests page  
8 -  
9 - Scenario: I should see open merge requests  
10 - Then I should see "Bug NS-04" in merge requests  
11 - And I should not see "Feature NS-03" in merge requests  
12 -  
13 - Scenario: I should see closed merge requests  
14 - Given I click link "Closed"  
15 - Then I should see "Feature NS-03" in merge requests  
16 - And I should not see "Bug NS-04" in merge requests  
17 -  
18 - Scenario: I should see all merge requests  
19 - Given I click link "All"  
20 - Then I should see "Feature NS-03" in merge requests  
21 - And I should see "Bug NS-04" in merge requests  
22 -  
23 - Scenario: I visit merge request page  
24 - Given I click link "Bug NS-04"  
25 - Then I should see merge request "Bug NS-04"  
26 -  
27 - Scenario: I close merge request page  
28 - Given I click link "Bug NS-04"  
29 - And I click link "Close"  
30 - Then I should see closed merge request "Bug NS-04"  
31 -  
32 - Scenario: I submit new unassigned merge request  
33 - Given I click link "New Merge Request"  
34 - And I submit new merge request "Wiki Feature"  
35 - Then I should see merge request "Wiki Feature"  
36 -  
37 - @javascript  
38 - Scenario: I comment merge request  
39 - Given I visit merge request page "Bug NS-04"  
40 - And I leave a comment like "XML attached"  
41 - Then I should see comment "XML attached"  
42 -  
features/projects/network.feature
@@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
1 -@javascript  
2 -Feature: Project Network Graph  
3 -  
4 - Background:  
5 - Given I signin as a user  
6 - And I own project "Shop"  
7 - And I visit project "Shop" network page  
8 -  
9 - Scenario: I should see project network  
10 - Then page should have network graph  
features/projects/project.feature
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 -Feature: Project  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - And I visit project "Shop" page  
6 -  
7 - Scenario: I should see project activity  
8 -  
9 - Scenario: I edit project  
10 -  
11 - Scenario: I visit attachments  
features/projects/snippets.feature
features/projects/source/browse_files.feature
@@ -1,23 +0,0 @@ @@ -1,23 +0,0 @@
1 -Feature: Browse git repo  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - Given I visit project source page  
6 -  
7 - Scenario: I browse files from master branch  
8 - Then I should see files from repository  
9 -  
10 - Scenario: I browse files for specific ref  
11 - Given I visit project source page for "8470d70"  
12 - Then I should see files from repository for "8470d70"  
13 -  
14 - Scenario: I browse file content  
15 - Given I click on file from repo  
16 - Then I should see it content  
17 -  
18 - Scenario: I browse raw file  
19 - Given I visit blob file from repo  
20 - And I click on raw button  
21 - Then I should see raw file content  
22 -  
23 -  
features/projects/source/git_blame.feature
@@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
1 -Feature: Browse git repo  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - Given I visit project source page  
6 -  
7 - Scenario: I blame file  
8 - Given I click on file from repo  
9 - And I click blame button  
10 - Then I should see git file blame  
features/projects/team_management.feature
@@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
1 -Feature: Project Team management  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - And gitlab user "Mike"  
6 - And gitlab user "Sam"  
7 - And "Sam" is "Shop" developer  
8 - And I visit project "Shop" team page  
9 -  
10 - Scenario: See all team members  
11 - Then I should be able to see myself in team  
12 - And I should see "Sam" in team list  
13 -  
14 - Scenario: Add user to project  
15 - Given I click link "New Team Member"  
16 - And I select "Mike" as "Reporter"  
17 - Then I should see "Mike" in team list as "Reporter"  
18 -  
19 - @javascript  
20 - Scenario: Update user access  
21 - Given I should see "Sam" in team list as "Developer"  
22 - And I change "Sam" role to "Reporter"  
23 - Then I visit project "Shop" team page  
24 - And I should see "Sam" in team list as "Reporter"  
25 -  
26 - Scenario: View team member profile  
27 - Given I click link "Sam"  
28 - Then I should see "Sam" team profile  
29 -  
30 - Scenario: Cancel team member  
31 - Given I click link "Sam"  
32 - And I click link "Remove from team"  
33 - Then I visit project "Shop" team page  
34 - And I should not see "Sam" in team list  
35 -  
features/projects/wall.feature
@@ -1,17 +0,0 @@ @@ -1,17 +0,0 @@
1 -@javascript  
2 -Feature: Project Wall  
3 - In order to use Project Wall  
4 - A user  
5 - Should be able to read & write messages  
6 -  
7 - Background:  
8 - Given I signin as a user  
9 - And I own project "Shop"  
10 - And I visit project "Shop" wall page  
11 -  
12 - Scenario: Write comment  
13 - Given I write new comment "my special test message"  
14 - Then I should see project wall note "my special test message"  
15 -  
16 - Then I visit project "Shop" wall page  
17 - And I should see project wall note "my special test message"  
features/projects/web_hooks.feature
features/projects/wiki.feature
@@ -1,15 +0,0 @@ @@ -1,15 +0,0 @@
1 -Feature: Wiki  
2 - Background:  
3 - Given I signin as a user  
4 - And I own project "Shop"  
5 - Given I visit project wiki page  
6 -  
7 - Scenario: Add new page  
8 - Given I create Wiki page  
9 - Then I should see newly created wiki page  
10 -  
11 - @javascript  
12 - Scenario: I comment wiki page  
13 - Given I create Wiki page  
14 - And I leave a comment like "XML attached"  
15 - Then I should see comment "XML attached"  
features/steps/project_browse_branches.rb 0 → 100644
@@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
  1 +class ProjectBrowseBranches < Spinach::FeatureSteps
  2 + Then 'I should see "Shop" recent branches list' do
  3 + page.should have_content "Branches"
  4 + page.should have_content "master"
  5 + end
  6 +
  7 + Given 'I click link "All"' do
  8 + click_link "All"
  9 + end
  10 +
  11 + Then 'I should see "Shop" all branches list' do
  12 + page.should have_content "Branches"
  13 + page.should have_content "master"
  14 + end
  15 +
  16 + Given 'I click link "Protected"' do
  17 + click_link "Protected"
  18 + end
  19 +
  20 + Then 'I should see "Shop" protected branches list' do
  21 + within "table" do
  22 + page.should have_content "stable"
  23 + page.should_not have_content "master"
  24 + end
  25 + end
  26 +
  27 + Given 'I sign in as a user' do
  28 + login_as :user
  29 + end
  30 +
  31 + And 'I own project "Shop"' do
  32 + @project = Factory :project, :name => "Shop"
  33 + @project.add_access(@user, :admin)
  34 + end
  35 +
  36 + And 'project "Shop" has protected branches' do
  37 + project = Project.find_by_name("Shop")
  38 + project.protected_branches.create(:name => "stable")
  39 + end
  40 +
  41 + Given 'I visit project branches page' do
  42 + visit branches_project_repository_path(@project)
  43 + end
  44 +end
features/steps/project_browse_commits.rb 0 → 100644
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +class ProjectBrowseCommits < Spinach::FeatureSteps
  2 + Then 'I see project commits' do
  3 + current_path.should == project_commits_path(@project)
  4 +
  5 + commit = @project.commit
  6 + page.should have_content(@project.name)
  7 + page.should have_content(commit.message)
  8 + page.should have_content(commit.id.to_s[0..5])
  9 + end
  10 +
  11 + Given 'I click atom feed link' do
  12 + click_link "Feed"
  13 + end
  14 +
  15 + Then 'I see commits atom feed' do
  16 + commit = CommitDecorator.decorate(@project.commit)
  17 + page.response_headers['Content-Type'].should have_content("application/atom+xml")
  18 + page.body.should have_selector("title", :text => "Recent commits to #{@project.name}")
  19 + page.body.should have_selector("author email", :text => commit.author_email)
  20 + page.body.should have_selector("entry summary", :text => commit.description)
  21 + end
  22 +
  23 + Given 'I click on commit link' do
  24 + visit project_commit_path(@project, ValidCommit::ID)
  25 + end
  26 +
  27 + Then 'I see commit info' do
  28 + page.should have_content ValidCommit::MESSAGE
  29 + page.should have_content "Showing 1 changed file"
  30 + end
  31 +
  32 + Given 'I visit compare refs page' do
  33 + visit compare_project_commits_path(@project)
  34 + end
  35 +
  36 + And 'I fill compare fields with refs' do
  37 + fill_in "from", :with => "master"
  38 + fill_in "to", :with => "stable"
  39 + click_button "Compare"
  40 + end
  41 +
  42 + And 'I see compared refs' do
  43 + page.should have_content "Commits (27)"
  44 + page.should have_content "Compare View"
  45 + page.should have_content "Showing 73 changed files"
  46 + end
  47 +
  48 + Given 'I sign in as a user' do
  49 + login_as :user
  50 + end
  51 +
  52 + And 'I own project "Shop"' do
  53 + @project = Factory :project, :name => "Shop"
  54 + @project.add_access(@user, :admin)
  55 + end
  56 +
  57 + Given 'I visit project commits page' do
  58 + visit project_commits_path(@project)
  59 + end
  60 +end
features/steps/project_browse_tags.rb 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +class ProjectBrowseTags < Spinach::FeatureSteps
  2 + Then 'I should see "Shop" all tags list' do
  3 + page.should have_content "Tags"
  4 + page.should have_content "v1.2.1"
  5 + end
  6 +
  7 + Given 'I sign in as a user' do
  8 + login_as :user
  9 + end
  10 +
  11 + And 'I own project "Shop"' do
  12 + @project = Factory :project, :name => "Shop"
  13 + @project.add_access(@user, :admin)
  14 + end
  15 +
  16 + Given 'I visit project tags page' do
  17 + visit tags_project_repository_path(@project)
  18 + end
  19 +end
features/steps/project_comment_commit.rb 0 → 100644
@@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
  1 +class ProjectCommentCommit < Spinach::FeatureSteps
  2 + Given 'I leave a comment like "XML attached"' do
  3 + fill_in "note_note", :with => "XML attached"
  4 + click_button "Add Comment"
  5 + end
  6 +
  7 + Then 'I should see comment "XML attached"' do
  8 + page.should have_content "XML attached"
  9 + end
  10 +
  11 + Given 'I sign in as a user' do
  12 + login_as :user
  13 + end
  14 +
  15 + And 'I own project "Shop"' do
  16 + @project = Factory :project, :name => "Shop"
  17 + @project.add_access(@user, :admin)
  18 + end
  19 +
  20 + Given 'I visit project commit page' do
  21 + visit project_commit_path(@project, ValidCommit::ID)
  22 + end
  23 +end
features/support/env.rb
@@ -4,12 +4,21 @@ require &#39;./config/environment&#39; @@ -4,12 +4,21 @@ require &#39;./config/environment&#39;
4 require 'rspec' 4 require 'rspec'
5 require 'database_cleaner' 5 require 'database_cleaner'
6 6
7 -%w(login_helpers stubbed_repository).each do |f| 7 +%w(gitolite_stub login_helpers stubbed_repository valid_commit).each do |f|
8 require Rails.root.join('spec', 'support', f) 8 require Rails.root.join('spec', 'support', f)
9 end 9 end
10 10
11 include LoginHelpers 11 include LoginHelpers
  12 +include GitoliteStub
12 13
13 -DatabaseCleaner.strategy = :transaction 14 +WebMock.allow_net_connect!
  15 +
  16 +DatabaseCleaner.strategy = :truncation
14 Spinach.hooks.before_scenario { DatabaseCleaner.start } 17 Spinach.hooks.before_scenario { DatabaseCleaner.start }
15 Spinach.hooks.after_scenario { DatabaseCleaner.clean } 18 Spinach.hooks.after_scenario { DatabaseCleaner.clean }
  19 +
  20 +Spinach.hooks.before_run do
  21 + RSpec::Mocks::setup self
  22 +
  23 + stub_gitolite!
  24 +end