Commit f2eb668348bc8ff70d62ee607a080f235f470dfd

Authored by Dmitriy Zaporozhets
1 parent bd2b6f59

Feature test for New file feature

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/views/projects/tree/_tree.html.haml
... ... @@ -12,7 +12,7 @@
12 12 = link_to title, '#'
13 13 \/
14 14 %li
15   - = link_to project_new_tree_path(@project, @id) do
  15 + = link_to project_new_tree_path(@project, @id), title: 'New file', id: 'new-file-link' do
16 16 %small
17 17 %i.icon-plus.light
18 18  
... ...
features/project/source/browse_files.feature
... ... @@ -20,6 +20,10 @@ Feature: Project Browse files
20 20 And I click link "raw"
21 21 Then I should see raw file content
22 22  
  23 + Scenario: I can create file
  24 + Given I click on "new file" link in repo
  25 + Then I can see new file page
  26 +
23 27 @javascript
24 28 Scenario: I can edit file
25 29 Given I click on "Gemfile.lock" file in repo
... ...
features/steps/project/project_browse_files.rb
... ... @@ -3,42 +3,51 @@ class ProjectBrowseFiles &lt; Spinach::FeatureSteps
3 3 include SharedProject
4 4 include SharedPaths
5 5  
6   - Then 'I should see files from repository' do
  6 + step 'I should see files from repository' do
7 7 page.should have_content "app"
8 8 page.should have_content "history"
9 9 page.should have_content "Gemfile"
10 10 end
11 11  
12   - Then 'I should see files from repository for "8470d70"' do
  12 + step 'I should see files from repository for "8470d70"' do
13 13 current_path.should == project_tree_path(@project, "8470d70")
14 14 page.should have_content "app"
15 15 page.should have_content "history"
16 16 page.should have_content "Gemfile"
17 17 end
18 18  
19   - Given 'I click on "Gemfile.lock" file in repo' do
  19 + step 'I click on "Gemfile.lock" file in repo' do
20 20 click_link "Gemfile.lock"
21 21 end
22 22  
23   - Then 'I should see it content' do
  23 + step 'I should see it content' do
24 24 page.should have_content "DEPENDENCIES"
25 25 end
26 26  
27   - And 'I click link "raw"' do
  27 + step 'I click link "raw"' do
28 28 click_link "raw"
29 29 end
30 30  
31   - Then 'I should see raw file content' do
  31 + step 'I should see raw file content' do
32 32 page.source.should == ValidCommit::BLOB_FILE
33 33 end
34 34  
35   - Given 'I click button "edit"' do
  35 + step 'I click button "edit"' do
36 36 click_link 'edit'
37 37 end
38 38  
39   - Then 'I can edit code' do
  39 + step 'I can edit code' do
40 40 page.execute_script('editor.setValue("GitlabFileEditor")')
41 41 page.evaluate_script('editor.getValue()').should == "GitlabFileEditor"
42 42 end
43 43  
  44 + step 'I click on "new file" link in repo' do
  45 + click_link 'new-file-link'
  46 + end
  47 +
  48 + step 'I can see new file page' do
  49 + page.should have_content "New file"
  50 + page.should have_content "File name"
  51 + page.should have_content "Commit message"
  52 + end
44 53 end
... ...