summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/MultimediaViewer/tests/browser/features/step_definitions/mmv_download_steps.rb
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/MultimediaViewer/tests/browser/features/step_definitions/mmv_download_steps.rb')
-rw-r--r--www/wiki/extensions/MultimediaViewer/tests/browser/features/step_definitions/mmv_download_steps.rb101
1 files changed, 101 insertions, 0 deletions
diff --git a/www/wiki/extensions/MultimediaViewer/tests/browser/features/step_definitions/mmv_download_steps.rb b/www/wiki/extensions/MultimediaViewer/tests/browser/features/step_definitions/mmv_download_steps.rb
new file mode 100644
index 00000000..1d94a804
--- /dev/null
+++ b/www/wiki/extensions/MultimediaViewer/tests/browser/features/step_definitions/mmv_download_steps.rb
@@ -0,0 +1,101 @@
+# encoding: utf-8
+
+When /^I open the download dropdown$/ do
+ step 'I click the download icon'
+ step 'I click the download down arrow icon'
+end
+
+When /^I click the download icon$/ do
+ on(E2ETestPage).mmv_download_icon_element.when_present.click
+end
+
+When /^I click the download down arrow icon$/ do
+ sleep 1
+ on(E2ETestPage).mmv_download_down_arrow_icon_element.when_present(10).click
+end
+
+When /^I click on the attribution area$/ do
+ on(E2ETestPage).mmv_download_attribution_area_element.when_present(10).click
+end
+
+When /^I click on the attribution area close icon$/ do
+ on(E2ETestPage).mmv_download_attribution_area_close_icon_element.click
+end
+
+When /^I click the (.*) download size$/ do |size_option|
+ on(E2ETestPage) do |page|
+ case size_option
+ when 'small'
+ @index = 1
+ when 'medium'
+ @index = 2
+ when 'large'
+ @index = 3
+ else
+ @index = 0
+ end
+
+ page.mmv_download_size_options_elements[@index].click
+ end
+end
+
+When /^the download size options appear$/ do
+ on(E2ETestPage).mmv_download_size_menu_element.when_present
+end
+
+When /^the download size options disappears$/ do
+ on(E2ETestPage).mmv_download_size_menu_element.when_not_present
+end
+
+When /^the download menu appears$/ do
+ on(E2ETestPage).mmv_download_menu_element.when_present(10)
+end
+
+Then /^the download menu should appear$/ do
+ expect(on(E2ETestPage).mmv_download_menu_element.when_present(10)).to be_visible
+end
+
+Then /^the download menu should disappear$/ do
+ expect(on(E2ETestPage).mmv_download_menu_element).not_to be_visible
+end
+
+Then /^the original beginning download image size label should be "(.*)"$/ do |size_in_pixels|
+ expect(on(E2ETestPage).mmv_download_size_label_element.when_present(10).text).to eq size_in_pixels
+end
+
+Then /^the download image size label should be "(.*)"$/ do |size_in_pixels|
+ on(E2ETestPage) do |page|
+ page.mmv_download_size_options_elements[0].when_not_present
+ expect(page.mmv_download_size_label_element.when_present.text).to eq size_in_pixels
+ end
+end
+
+Then /^the download size options should appear$/ do
+ expect(on(E2ETestPage).mmv_download_size_menu_element.when_present).to be_visible
+end
+
+Then /^the download links should be the original image$/ do
+ on(E2ETestPage) do |page|
+ expect(page.mmv_download_link_element.attribute('href')).to match /^?download$/
+ expect(page.mmv_download_preview_link_element.attribute('href')).not_to match /^?download$/
+ expect(page.mmv_download_link_element.attribute('href')).not_to match %r{/thumb/}
+ expect(page.mmv_download_preview_link_element.attribute('href')).not_to match %r{/thumb/}
+ end
+end
+
+Then /^the download links should be the (\d+) thumbnail$/ do |thumb_size|
+ on(E2ETestPage) do |page|
+ page.wait_until { page.mmv_download_link_element.attribute('href').match thumb_size }
+ expect(page.mmv_download_link_element.attribute('href')).to match /^?download$/
+ expect(page.mmv_download_preview_link_element.attribute('href')).not_to match /^?download$/
+ expect(page.mmv_download_preview_link_element.attribute('href')).to match thumb_size
+ end
+end
+
+Then /^the attribution area should be collapsed$/ do
+ expect(on(E2ETestPage).mmv_download_attribution_area_element.when_present(10).attribute('class')).to match 'mw-mmv-download-attribution-collapsed'
+end
+
+Then /^the attribution area should be open$/ do
+ expect(on(E2ETestPage).mmv_download_attribution_area_element.when_present.attribute('class')).not_to match 'mw-mmv-download-attribution-collapsed'
+end