Sha256: c4ec8c4745c40b656d375c81a8628a9c42b36b68605f920d9af033d1617eb37b

Contents?: true

Size: 1023 Bytes

Versions: 6

Compression:

Stored size: 1023 Bytes

Contents

require 'spec_helper'

RSpec.describe RockRMS::Response::ContentChannelItem, type: :model do
  let(:parsed) { JSON.parse(FixturesHelper.read('content_channel_items.json')) }

  describe '.format' do
    subject(:result) { described_class.format(parsed) }

    context 'when response is array' do
      it 'returns an array' do
        expect(described_class.format([])).to be_a(Array)
      end
    end

    it 'has the correct number keys' do
      keys = result.first.keys
      expect(keys.count).to eq(14)
    end

    it 'translates keys' do
      result.zip(parsed) do |r, p|
        expect(r[:id]).to eq(p['Id'])
        expect(r[:foreign_key]).to eq(p['ForeignKey'])
        expect(r[:content_channel_id]).to eq(p['ContentChannelId'])
        expect(r[:title]).to eq(p['Title'])
        expect(r[:content]).to eq(p['Content'])
        expect(r[:order]).to eq(p['Order'])
        expect(r[:start_date]).to eq(p['StartDateTime'])
        expect(r[:expire_date]).to eq(p['ExpireDateTime'])
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rock_rms-9.15.0 spec/rock_rms/response/content_channel_item_spec.rb
rock_rms-9.14.0 spec/rock_rms/response/content_channel_item_spec.rb
rock_rms-9.13.0 spec/rock_rms/response/content_channel_item_spec.rb
rock_rms-9.12.0 spec/rock_rms/response/content_channel_item_spec.rb
rock_rms-9.11.0 spec/rock_rms/response/content_channel_item_spec.rb
rock_rms-9.10.0 spec/rock_rms/response/content_channel_item_spec.rb