diff options
Diffstat (limited to 'qa/qa/page/component/dropzone.rb')
-rw-r--r-- | qa/qa/page/component/dropzone.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/qa/qa/page/component/dropzone.rb b/qa/qa/page/component/dropzone.rb new file mode 100644 index 00000000000..5e6fdff20eb --- /dev/null +++ b/qa/qa/page/component/dropzone.rb @@ -0,0 +1,29 @@ +module QA + module Page + module Component + class Dropzone + attr_reader :page, :container + + def initialize(page, container) + @page = page + @container = container + end + + # Not tested and not expected to work with multiple dropzones + # instantiated on one page because there is no distinguishing + # attribute per dropzone file field. + def attach_file(attachment) + filename = File.basename(attachment) + + field_style = { visibility: 'visible', height: '', width: '' } + page.attach_file(attachment, class: 'dz-hidden-input', make_visible: field_style) + + # Wait for link to be appended to dropzone text + page.wait(reload: false) do + page.find("#{container} textarea").value.match(filename) + end + end + end + end + end +end |