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