Sha256: c333b69ce79568e6caeaad70efcbc8058b861d851d96d7846b2b614e893e05c7

Contents?: true

Size: 1.32 KB

Versions: 76

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

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 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

76 entries across 76 versions & 1 rubygems

Version Path
lhs-26.2.0 spec/collection/meta_data_spec.rb
lhs-26.1.0 spec/collection/meta_data_spec.rb
lhs-26.0.1 spec/collection/meta_data_spec.rb
lhs-26.0.0 spec/collection/meta_data_spec.rb
lhs-25.2.0 spec/collection/meta_data_spec.rb
lhs-25.1.0 spec/collection/meta_data_spec.rb
lhs-25.0.4 spec/collection/meta_data_spec.rb
lhs-25.0.3 spec/collection/meta_data_spec.rb
lhs-25.0.2 spec/collection/meta_data_spec.rb
lhs-25.0.1 spec/collection/meta_data_spec.rb
lhs-25.0.0 spec/collection/meta_data_spec.rb
lhs-24.1.2 spec/collection/meta_data_spec.rb
lhs-24.1.1 spec/collection/meta_data_spec.rb
lhs-24.1.0 spec/collection/meta_data_spec.rb
lhs-24.1.0.pre.2 spec/collection/meta_data_spec.rb
lhs-24.1.0.pre.1 spec/collection/meta_data_spec.rb
lhs-24.0.0 spec/collection/meta_data_spec.rb
lhs-23.0.2 spec/collection/meta_data_spec.rb
lhs-23.0.1 spec/collection/meta_data_spec.rb
lhs-23.0.0 spec/collection/meta_data_spec.rb