Sha256: 179b77c0e960a49c384b461f97e729bc52411a3c34570853c99359060cbd230d

Contents?: true

Size: 1.68 KB

Versions: 8

Compression:

Stored size: 1.68 KB

Contents

require 'spec_helper'

describe Moysklad::Resources::Indexed do
  let(:items_count) { total_consignment_count }

  before do
    stub_consignments_requests
  end

  let(:resource) { Moysklad::Resources::Indexed.new consignments_resource }

  subject { resource }

  it 'загружено верное количество данных' do
    expect(subject.all.count).to eq items_count
    expect(subject.send(:index).count).to eq items_count
  end

  describe 'кешированные данные' do
    # uuid элемента со второй страницы
    let(:uuid) { 'eb18d236-2e22-11e4-ddb1-002590a28eca'}

    before do
      subject.all
    end

    it 'элемет получаем из кеша' do
      expect(subject.find uuid).to be_a consignments_resource.class.entity_class
      expect(WebMock).to have_requested(:get, resource_list_url(consignments_resource, 0)).once
      expect(WebMock).to have_requested(:get, resource_list_url(consignments_resource, 1000)).once
    end
  end

  describe 'filtered?' do
    subject { resource.send :filtered?, item, filter }

    context 'под фильтр попадает все если фильтр пуст' do
      let(:item) { double }
      let(:filter) { {} }
      it do
        expect(subject).to be true
      end
    end

    context 'отсеивает что не надо' do
      let(:item) { double some_key: 123 }
      let(:filter) { { some_key: 124} }
      it do
        expect(subject).to be false
      end
    end
    context 'фильтрует что надо' do
      let(:item) { double some_key: 123 }
      let(:filter) { { some_key: 123} }
      it do
        expect(subject).to be true
      end
    end
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
moysklad-0.3.0 spec/lib/moysklad/resources/indexed_spec.rb
moysklad-0.2.1 spec/lib/moysklad/resources/indexed_spec.rb
moysklad-0.2.0 spec/lib/moysklad/resources/indexed_spec.rb
moysklad-0.1.5 spec/lib/moysklad/resources/indexed_spec.rb
moysklad-0.1.4 spec/lib/moysklad/resources/indexed_spec.rb
moysklad-0.1.3 spec/lib/moysklad/resources/indexed_spec.rb
moysklad-0.1.2 spec/lib/moysklad/resources/indexed_spec.rb
moysklad-0.1.1 spec/lib/moysklad/resources/indexed_spec.rb