summaryrefslogtreecommitdiff
path: root/spec/features/projects/tree
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2017-10-31 10:47:10 +0000
committerFilipa Lacerda <filipa@gitlab.com>2017-10-31 10:47:10 +0000
commit68d1e9d1c42f34d3fb2d58779d862dcf47d5f17e (patch)
tree5bf4287612a089292ea950aff0e86f2ee158b2e2 /spec/features/projects/tree
parent7e78db6e04c3760c90d676e9a797b1b16b1dff7b (diff)
downloadgitlab-ce-68d1e9d1c42f34d3fb2d58779d862dcf47d5f17e.tar.gz
Upload files through the multi-file editor
Diffstat (limited to 'spec/features/projects/tree')
-rw-r--r--spec/features/projects/tree/upload_file_spec.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/spec/features/projects/tree/upload_file_spec.rb b/spec/features/projects/tree/upload_file_spec.rb
new file mode 100644
index 00000000000..7dbe4fd0aa5
--- /dev/null
+++ b/spec/features/projects/tree/upload_file_spec.rb
@@ -0,0 +1,48 @@
+require 'spec_helper'
+
+feature 'Multi-file editor upload file', :js do
+ include WaitForRequests
+
+ let(:user) { create(:user) }
+ let(:project) { create(:project, :repository) }
+ let(:txt_file) { File.join(Rails.root, 'spec', 'fixtures', 'doc_sample.txt') }
+ let(:img_file) { File.join(Rails.root, 'spec', 'fixtures', 'dk.png') }
+
+ before do
+ project.add_master(user)
+ sign_in(user)
+
+ page.driver.set_cookie('new_repo', 'true')
+
+ visit project_tree_path(project, :master)
+
+ wait_for_requests
+ end
+
+ it 'uploads text file' do
+ find('.add-to-tree').click
+
+ # make the field visible so capybara can use it
+ execute_script('document.querySelector("#file-upload").classList.remove("hidden")')
+ attach_file('file-upload', txt_file)
+
+ find('.add-to-tree').click
+
+ expect(page).to have_selector('.repo-tab', text: 'doc_sample.txt')
+ expect(page).to have_content(File.open(txt_file, &:readline))
+ end
+
+ it 'uploads image file' do
+ find('.add-to-tree').click
+
+ # make the field visible so capybara can use it
+ execute_script('document.querySelector("#file-upload").classList.remove("hidden")')
+ attach_file('file-upload', img_file)
+
+ find('.add-to-tree').click
+
+ expect(page).to have_selector('.repo-tab', text: 'dk.png')
+ expect(page).not_to have_selector('.monaco-editor')
+ expect(page).to have_content('The source could not be displayed for this temporary file.')
+ end
+end