Merge branch 'fix-issue-dropzone' into 'master'
Fixed issue with dropzone not working on new issuable Closes #15295 See merge request !3760
This commit is contained in:
commit
e9f20f5922
|
@ -1,6 +1,6 @@
|
|||
.md-area
|
||||
.md-header
|
||||
%ul.nav-links
|
||||
%ul.nav-links.clearfix
|
||||
%li.active
|
||||
%a.js-md-write-button{ href: "#md-write-holder", tabindex: -1 }
|
||||
Write
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
= f.label :title, class: 'control-label'
|
||||
.col-sm-10
|
||||
= f.text_field :title, maxlength: 255, autofocus: true, autocomplete: 'off',
|
||||
class: 'form-control pad js-gfm-input', required: true
|
||||
class: 'form-control pad', required: true
|
||||
|
||||
- if issuable.is_a?(MergeRequest)
|
||||
%p.help-block
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue