spec/unit/models/protocol_message_spec.rb in ably-0.8.2 vs spec/unit/models/protocol_message_spec.rb in ably-0.8.3
- old
+ new
@@ -9,11 +9,11 @@
def new_protocol_message(options)
subject.new({ action: 1 }.merge(options))
end
it_behaves_like 'a model',
- with_simple_attributes: %w(id channel channel_serial connection_id),
+ with_simple_attributes: %w(id channel channel_serial connection_id connection_key),
base_model_options: { action: 1 } do
let(:model_args) { [] }
end
@@ -260,9 +260,29 @@
it 'returns a valid ErrorInfo object' do
expect(protocol_message.error).to be_a(Ably::Models::ErrorInfo)
expect(protocol_message.error.message).to eql('test_error')
end
+ end
+ end
+
+ context '#messages' do
+ let(:protocol_message) { new_protocol_message(messages: [{ name: 'test' }]) }
+
+ it 'contains Message objects' do
+ expect(protocol_message.messages.count).to eql(1)
+ expect(protocol_message.messages.first).to be_a(Ably::Models::Message)
+ expect(protocol_message.messages.first.name).to eql('test')
+ end
+ end
+
+ context '#presence' do
+ let(:protocol_message) { new_protocol_message(presence: [{ action: 1, data: 'test' }]) }
+
+ it 'contains PresenceMessage objects' do
+ expect(protocol_message.presence.count).to eql(1)
+ expect(protocol_message.presence.first).to be_a(Ably::Models::PresenceMessage)
+ expect(protocol_message.presence.first.data).to eql('test')
end
end
end
context '#to_json', :api_private do