diff --git a/app/views/projects/tree/_tree.html.haml b/app/views/projects/tree/_tree.html.haml
index 7a41089a3f26f6ece7d02281cefcd547b3d5ee7c..fae7c18b19a972d494fa063846a0a3e859c271d5 100644
--- a/app/views/projects/tree/_tree.html.haml
+++ b/app/views/projects/tree/_tree.html.haml
@@ -12,7 +12,7 @@
         = link_to title, '#'
   \/
   %li
-    = link_to project_new_tree_path(@project, @id) do
+    = link_to project_new_tree_path(@project, @id), title: 'New file', id: 'new-file-link' do
       %small
         %i.icon-plus.light
 
diff --git a/features/project/source/browse_files.feature b/features/project/source/browse_files.feature
index ee26f5371a997581e2a773c0bfd5cf0d60ef6204..fd9a2f01a28c619ce85b4865003e5f547eaf24c4 100644
--- a/features/project/source/browse_files.feature
+++ b/features/project/source/browse_files.feature
@@ -20,6 +20,10 @@ Feature: Project Browse files
     And I click link "raw"
     Then I should see raw file content
 
+  Scenario: I can create file
+    Given I click on "new file" link in repo
+    Then I can see new file page
+
   @javascript
   Scenario: I can edit file
     Given I click on "Gemfile.lock" file in repo
diff --git a/features/steps/project/project_browse_files.rb b/features/steps/project/project_browse_files.rb
index 71360fb6bd5caf9f32b7d6a622382f89a3509d4c..069086d5eac996d3c591d698ee0e2b8af101f985 100644
--- a/features/steps/project/project_browse_files.rb
+++ b/features/steps/project/project_browse_files.rb
@@ -3,42 +3,51 @@ class ProjectBrowseFiles < Spinach::FeatureSteps
   include SharedProject
   include SharedPaths
 
-  Then 'I should see files from repository' do
+  step 'I should see files from repository' do
     page.should have_content "app"
     page.should have_content "history"
     page.should have_content "Gemfile"
   end
 
-  Then 'I should see files from repository for "8470d70"' do
+  step 'I should see files from repository for "8470d70"' do
     current_path.should == project_tree_path(@project, "8470d70")
     page.should have_content "app"
     page.should have_content "history"
     page.should have_content "Gemfile"
   end
 
-  Given 'I click on "Gemfile.lock" file in repo' do
+  step 'I click on "Gemfile.lock" file in repo' do
     click_link "Gemfile.lock"
   end
 
-  Then 'I should see it content' do
+  step 'I should see it content' do
     page.should have_content "DEPENDENCIES"
   end
 
-  And 'I click link "raw"' do
+  step 'I click link "raw"' do
     click_link "raw"
   end
 
-  Then 'I should see raw file content' do
+  step 'I should see raw file content' do
     page.source.should == ValidCommit::BLOB_FILE
   end
 
-  Given 'I click button "edit"' do
+  step 'I click button "edit"' do
     click_link 'edit'
   end
 
-  Then 'I can edit code' do
+  step 'I can edit code' do
     page.execute_script('editor.setValue("GitlabFileEditor")')
     page.evaluate_script('editor.getValue()').should == "GitlabFileEditor"
   end
 
+  step 'I click on "new file" link in repo' do
+    click_link 'new-file-link'
+  end
+
+  step 'I can see new file page' do
+    page.should have_content "New file"
+    page.should have_content "File name"
+    page.should have_content "Commit message"
+  end
 end