Sha256: 484c5161e4094ed4a659653ae9ab60bca30137a1145e0f5ee7d4b052a32c3b11
Contents?: true
Size: 1.63 KB
Versions: 2
Compression:
Stored size: 1.63 KB
Contents
module BestInPlace module TestHelpers include ActionView::Helpers::JavaScriptHelper def bip_area(model, attr, new_value) id = BestInPlace::Utils.build_best_in_place_id model, attr find("##{id}").trigger('click') execute_script <<-JS $("##{id} form textarea").val('#{escape_javascript new_value.to_s}'); $("##{id} form textarea").blur(); JS wait_for_ajax end def bip_text(model, attr, new_value) id = BestInPlace::Utils.build_best_in_place_id model, attr find("##{id}").click execute_script <<-JS $("##{id} input[name='#{attr}']").val('#{escape_javascript new_value.to_s}'); $("##{id} form").submit(); JS wait_for_ajax end def bip_bool(model, attr) id = BestInPlace::Utils.build_best_in_place_id model, attr find("##{id}").trigger('click') wait_for_ajax end def bip_select(model, attr, name) id = BestInPlace::Utils.build_best_in_place_id model, attr find("##{id}").trigger('click') find("##{id}").select(name) wait_for_ajax end def wait_for_ajax return unless respond_to?(:evaluate_script) wait_until { finished_all_ajax_requests? } end def finished_all_ajax_requests? evaluate_script('!window.jQuery') || evaluate_script('jQuery.active').zero? end def wait_until(max_execution_time_in_seconds = Capybara.default_wait_time) Timeout.timeout(max_execution_time_in_seconds) do loop do if yield return true else sleep(0.1) next end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
best_in_place-3.0.2 | lib/best_in_place/test_helpers.rb |
best_in_place-3.0.1 | lib/best_in_place/test_helpers.rb |