module WebsocketRails::SpecHelpers
Public Class Methods
actual_data_for_spec_message(data)
click to toggle source
# File lib/spec_helpers/matchers/trigger_matchers.rb, line 25 def self.actual_data_for_spec_message(data) data ? "with data #{data}": 'with no data' end
actual_for_spec_message(event)
click to toggle source
# File lib/spec_helpers/matchers/trigger_matchers.rb, line 29 def self.actual_for_spec_message(event) if event.triggered? success = event.success if success.nil? "triggered message #{actual_data_for_spec_message(event.data)}" else success_state = case success when 0 then "a success" when 1 then "a failure" when 2 then "a no result" else success end "triggered #{success_state} message #{actual_data_for_spec_message(event.data)}" end else 'did not trigger any message' end end
compare_trigger_data(event, data)
click to toggle source
# File lib/spec_helpers/matchers/trigger_matchers.rb, line 5 def self.compare_trigger_data(event, data) return true if data.nil? return true if data == :any and event.data return true if data == :nil and event.data.nil? data.eql? event.data end
expected_data_for_spec_message(data)
click to toggle source
# File lib/spec_helpers/matchers/trigger_matchers.rb, line 12 def self.expected_data_for_spec_message(data) case data when nil '' when :nil ' with no data' when :any ' with some data' else " with data #{data}" end end
verify_route(event, target, non_exclusive)
click to toggle source
# File lib/spec_helpers/matchers/route_matchers.rb, line 5 def self.verify_route(event, target, non_exclusive) raise ArgumentError, 'event must be of type SpecHelperEvent' unless event.is_a? WebsocketRails::SpecHelperEvent target_class, target_method = WebsocketRails::TargetValidator.validate_target target result = false no_of_routes = 0 event.dispatcher.event_map.routes_for event do |controller_class, method| no_of_routes += 1 controller = controller_class.new if controller.class == target_class and method == target_method result = true end end result and (non_exclusive or no_of_routes == 1) end
verify_trigger(event, data, success=nil)
click to toggle source
# File lib/spec_helpers/matchers/trigger_matchers.rb, line 49 def self.verify_trigger(event, data, success=nil) return false unless event.triggered? return false unless compare_trigger_data(event, data) success.nil? || success == event.success end