diff options
author | Phil Hughes <me@iamphill.com> | 2016-04-17 12:15:45 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2016-04-17 12:15:45 +0100 |
commit | 0be158a0725c254629e7e4e5de194021322e2fa9 (patch) | |
tree | 1a902ba8740cd1b2684c705f2c1fccf5d8c655d3 /spec/features | |
parent | eceada9a6868d16d9a11ce8bc646623f20f58c95 (diff) | |
download | gitlab-ce-0be158a0725c254629e7e4e5de194021322e2fa9.tar.gz |
Added upload file test to new issue formfix-issue-dropzone
Diffstat (limited to 'spec/features')
-rw-r--r-- | spec/features/issues_spec.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/features/issues_spec.rb b/spec/features/issues_spec.rb index 1ce0024e93c..35c8f93abc1 100644 --- a/spec/features/issues_spec.rb +++ b/spec/features/issues_spec.rb @@ -292,6 +292,23 @@ describe 'Issues', feature: true do end end + describe 'new issue' do + context 'dropzone upload file', js: true do + before do + visit new_namespace_project_issue_path(project.namespace, project) + end + + it 'should upload file when dragging into textarea' do + drop_in_dropzone test_image_file + + # Wait for the file to upload + sleep 1 + + expect(page.find_field("issue_description").value).to have_content 'banana_sample' + end + end + end + def first_issue page.all('ul.issues-list > li').first.text end @@ -299,4 +316,25 @@ describe 'Issues', feature: true do def last_issue page.all('ul.issues-list > li').last.text end + + def drop_in_dropzone(file_path) + # Generate a fake input selector + page.execute_script <<-JS + var fakeFileInput = window.$('<input/>').attr( + {id: 'fakeFileInput', type: 'file'} + ).appendTo('body'); + JS + # Attach the file to the fake input selector with Capybara + attach_file("fakeFileInput", file_path) + # Add the file to a fileList array and trigger the fake drop event + page.execute_script <<-JS + var fileList = [$('#fakeFileInput')[0].files[0]]; + var e = jQuery.Event('drop', { dataTransfer : { files : fileList } }); + $('.div-dropzone')[0].dropzone.listeners[0].events.drop(e); + JS + end + + def test_image_file + File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif') + end end |