module ForeignOffice::Test::ClientExec
Public Instance Methods
exec_listeners(listeners, push_data)
click to toggle source
# File lib/foreign_office/test/client_exec.rb, line 15 def exec_listeners(listeners, push_data) listeners.each do |el| messages = push_data.select{|msg| msg['channel'] == el[:'data-channel']} message = messages.last if message page.execute_script("foreign_office.channels_by_name['#{el[:'data-channel']}'].handleMessage(#{message.to_json});") end end end
fetch_foreign_office_messages()
click to toggle source
# File lib/foreign_office/test/client_exec.rb, line 5 def fetch_foreign_office_messages push_data = File.read(Rails.root + 'tmp/foreign_office_rspec_cache.json') push_data = push_data.split('IH_FO_MESSAGE_SEPARATOR') push_data.map!{|msg| JSON.parse msg} File.delete(Rails.root + 'tmp/foreign_office_rspec_cache.json') exec_listeners(page.all(:css, '[data-listener]', visible: false), push_data) exec_listeners(page.all(:css, '[data-listener]'), push_data) end