2017-07-16 13:10:15 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-08-06 13:15:15 -04:00
|
|
|
require "stubs/user"
|
2015-07-12 11:07:31 -04:00
|
|
|
|
|
|
|
class TestConnection
|
2018-05-27 14:50:04 -04:00
|
|
|
attr_reader :identifiers, :logger, :current_user, :server, :subscriptions, :transmissions
|
2015-07-12 11:07:31 -04:00
|
|
|
|
2016-03-11 18:32:02 -05:00
|
|
|
delegate :pubsub, to: :server
|
|
|
|
|
|
|
|
def initialize(user = User.new("lifo"), coder: ActiveSupport::JSON, subscription_adapter: SuccessAdapter)
|
|
|
|
@coder = coder
|
2015-07-12 11:07:31 -04:00
|
|
|
@identifiers = [ :current_user ]
|
|
|
|
|
|
|
|
@current_user = user
|
|
|
|
@logger = ActiveSupport::TaggedLogging.new ActiveSupport::Logger.new(StringIO.new)
|
2016-03-11 18:32:02 -05:00
|
|
|
@server = TestServer.new(subscription_adapter: subscription_adapter)
|
2015-07-12 11:07:31 -04:00
|
|
|
@transmissions = []
|
|
|
|
end
|
|
|
|
|
2016-03-11 18:32:02 -05:00
|
|
|
def transmit(cable_message)
|
|
|
|
@transmissions << encode(cable_message)
|
2016-01-15 17:11:30 -05:00
|
|
|
end
|
|
|
|
|
2016-03-11 18:32:02 -05:00
|
|
|
def last_transmission
|
|
|
|
decode @transmissions.last if @transmissions.any?
|
2015-07-12 11:07:31 -04:00
|
|
|
end
|
|
|
|
|
2016-03-11 18:32:02 -05:00
|
|
|
def decode(websocket_message)
|
|
|
|
@coder.decode websocket_message
|
|
|
|
end
|
|
|
|
|
|
|
|
def encode(cable_message)
|
|
|
|
@coder.encode cable_message
|
2015-07-12 11:07:31 -04:00
|
|
|
end
|
|
|
|
end
|