Sha256: d900af4d8d5b48586ccd4c4c0d4d1b47ddd9181e29b1c1dcb2c3c3e25da95d9b

Contents?: true

Size: 1.23 KB

Versions: 78

Compression:

Stored size: 1.23 KB

Contents

require 'rails_helper'

describe LHS::Data do
  before(:each) do
    class Record < LHS::Record
      endpoint ':datastore/v2/:campaign_id/feedbacks'
      endpoint ':datastore/v2/feedbacks'
    end
  end

  let(:json) do
    load_json(:feedbacks)
  end

  let(:data) do
    LHS::Data.new(json, nil, Record)
  end

  let(:item) do
    data[0]
  end

  context 'item' do
    it 'makes data accessible' do
      expect(item.href).to be_kind_of String
      expect(item.recommended).to be_kind_of TrueClass
      expect(item.average_rating).to be_kind_of Float
    end

    it 'returns nil if no data is present' do
      expect(item.something).to eq nil
    end

    it 'returns TimeWithZone if string can be parsed as date_time' do
      expect(item.created_date).to be_kind_of ActiveSupport::TimeWithZone
    end

    it 'returns date if string can be parsed as date' do
      expect(item.valid_from).to be_kind_of Date
    end
  end

  context 'different date time formats' do
    let(:item) do
      item = data[0]
      item._raw[:created_date] = '2016-07-09T13:45:00+00:00'
      item
    end

    it 'returns TimeWithZone if string can be parsed as date_time' do
      expect(item.created_date).to be_kind_of ActiveSupport::TimeWithZone
    end
  end
end

Version data entries

78 entries across 78 versions & 1 rubygems

Version Path
lhs-10.1.0 spec/data/item_spec.rb
lhs-10.0.0 spec/data/item_spec.rb
lhs-9.1.1 spec/data/item_spec.rb
lhs-9.1.0 spec/data/item_spec.rb
lhs-9.0.4 spec/data/item_spec.rb
lhs-9.0.3 spec/data/item_spec.rb
lhs-9.0.2 spec/data/item_spec.rb
lhs-9.0.1 spec/data/item_spec.rb
lhs-9.0.0 spec/data/item_spec.rb
lhs-8.0.0 spec/data/item_spec.rb
lhs-7.4.1 spec/data/item_spec.rb
lhs-7.4.0 spec/data/item_spec.rb
lhs-7.3.0 spec/data/item_spec.rb
lhs-7.2.5 spec/data/item_spec.rb
lhs-7.2.4 spec/data/item_spec.rb
lhs-7.2.3 spec/data/item_spec.rb
lhs-7.2.2 spec/data/item_spec.rb
lhs-7.2.1 spec/data/item_spec.rb
lhs-7.2.0 spec/data/item_spec.rb
lhs-7.1.0 spec/data/item_spec.rb