From 9023f09d3fa2707aab1b8bf9d68375b79d2242cf Mon Sep 17 00:00:00 2001 From: Akira Saito Date: Sat, 20 Jun 2015 01:37:28 +0900 Subject: [PATCH] refactor test code --- test/selenium/pages/quick_edit.rb | 75 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 test/selenium/pages/quick_edit.rb diff --git a/test/selenium/pages/quick_edit.rb b/test/selenium/pages/quick_edit.rb new file mode 100644 index 0000000..06a0b67 --- /dev/null +++ b/test/selenium/pages/quick_edit.rb @@ -0,0 +1,75 @@ +#coding: utf-8 + +module QuickEdit + module Test + module Pages + class QuickEditPage < Page + def initialize(driver, base_url, project, before_page) + super(driver, base_url, project) + + @before_page = before_page + + find_element :id, "quick_edit_context" + end + + def view_menu_item(issue_id, menu_selector) + menu_element = find_element(:id, "quick_edit_context") + menu_item_element = find_element(:css, menu_selector) + action.move_to(menu_element).perform + + find_element(:css, menu_selector) + end + + def update_field(issue_id, menu_selector, new_value, desire_alerting = false) + menu_element = find_element(:id, "quick_edit_context") + menu_item_element = find_element(:css, menu_selector) + action.move_to(menu_element).click(menu_item_element).perform + + input_text :id, "new_value", new_value + + buttons = find_elements(:css, "button > span") + submit_button = buttons.select {|button| button.text =~ /Submit/} + submit_button.first.click + + @before_page.class.open @driver, @base_url, @project unless desire_alerting + end + + def clear_field(issue_id, menu_selector) + menu_element = find_element(:id, "quick_edit_context") + menu_item_element = find_element(:css, menu_selector) + action.move_to(menu_element).click(menu_item_element).perform + + find_element(:css, '#quick_edit_input_dialog #clear').click + + buttons = find_elements(:css, "button > span") + submit_button = buttons.select {|button| button.text =~ /Submit/} + submit_button.first.click + + @before_page.class.open @driver, @base_url, @project + end + + def cancel_quick_edit + button_elements = find_elements(:css, 'span.ui-button-text') + cancel_buttons = button_elements.select do |button_element| + button_element.text == 'Cancel' + end + cancel_button = cancel_buttons.first + cancel_button.click + +# new Selenium::WebDriver::Wait.new().until { +# !cancel_button.displayed? +# } + end + + def menu_selector(attribute_name, custom_field_id=nil) + if :custom_field == attribute_name.to_sym + "#quick_edit_context_custom_field_values_#{custom_field_id} > a" + else + "#quick_edit_context_#{attribute_name} > a" + end + end + end + end + end +end + -- 2.11.0