Sha256: 31be5abf29f6d091a42c7c92a349ee759f4e0d957144194d419de20b1853f12f

Contents?: true

Size: 1.29 KB

Versions: 130

Compression:

Stored size: 1.29 KB

Contents

require 'rails_helper'

describe LHS::Collection do
  let(:total) { 0 }

  let(:limit) { 50 }

  let(:offset) { 0 }

  let(:collection) do
    {
      href: "#{datastore}/feedbacks",
      items: [],
      total: total,
      limit: limit,
      offset: offset
    }
  end

  let(:item) do
    {
      href: "#{datastore}/users/1",
      feedbacks: collection
    }
  end

  let(:datastore) { 'http://local.ch/v2' }

  before(:each) do
    LHC.config.placeholder('datastore', datastore)
    class Feedback < LHS::Record
      endpoint ':datastore/feedbacks'
      endpoint ':datastore/feedbacks/:id'
    end
    class User < LHS::Record
      endpoint ':datastore/users'
      endpoint ':datastore/users/:id'
    end
  end

  it 'provides meta data for collections' do
    stub_request(:get, "#{datastore}/feedbacks").to_return(status: 200, body: collection.to_json)
    feedbacks = Feedback.where
    expect(feedbacks.total).to eq total
    expect(feedbacks.limit).to eq limit
    expect(feedbacks.offset).to eq offset
    expect(feedbacks.href).to eq "#{datastore}/feedbacks"
  end

  it 'provides meta data also when navigating' do
    stub_request(:get, "#{datastore}/users/1").to_return(status: 200, body: item.to_json)
    user = User.find(1)
    expect(user.feedbacks.href).to eq "#{datastore}/feedbacks"
  end
end

Version data entries

130 entries across 130 versions & 1 rubygems

Version Path
lhs-14.6.5 spec/collection/meta_data_spec.rb
lhs-14.6.4 spec/collection/meta_data_spec.rb
lhs-14.6.3 spec/collection/meta_data_spec.rb
lhs-14.6.2 spec/collection/meta_data_spec.rb
lhs-14.6.1 spec/collection/meta_data_spec.rb
lhs-14.6.0 spec/collection/meta_data_spec.rb
lhs-14.5.0 spec/collection/meta_data_spec.rb
lhs-14.4.0 spec/collection/meta_data_spec.rb
lhs-14.3.4 spec/collection/meta_data_spec.rb
lhs-14.3.3 spec/collection/meta_data_spec.rb
lhs-14.3.2 spec/collection/meta_data_spec.rb
lhs-14.3.1 spec/collection/meta_data_spec.rb
lhs-14.3.0 spec/collection/meta_data_spec.rb
lhs-14.2.0 spec/collection/meta_data_spec.rb
lhs-14.1.1 spec/collection/meta_data_spec.rb
lhs-14.1.0 spec/collection/meta_data_spec.rb
lhs-14.0.3 spec/collection/meta_data_spec.rb
lhs-14.0.2 spec/collection/meta_data_spec.rb
lhs-14.0.1 spec/collection/meta_data_spec.rb
lhs-14.0.0 spec/collection/meta_data_spec.rb