Sha256: eb101322320f902235e746c93bc5e145f270b074a20c4bb7c60a7f692ea56cf9

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

# -*- encoding : utf-8 -*-
require 'unit/spec_helper'
require 'ashikawa-core/index'

describe Ashikawa::Core::Index do
  let(:collection) { double }
  let(:id) { '167137465/168054969' }
  let(:path) { 'index/167137465/168054969' }
  let(:delete_payload) { { delete: {} } }
  let(:type_as_sym) { double }
  let(:type) { double(to_sym: type_as_sym) }
  let(:field_as_sym) { double }
  let(:field) { double(to_sym: field_as_sym) }
  let(:unique) { double }
  let(:raw_data) do
    {
      'code' => 201,
      'fields' => [field],
      'id' => id,
      'type' => type,
      'isNewlyCreated' => true,
      'unique' => unique,
      'error' => false
    }
  end

  describe 'initialized index' do
    subject { Ashikawa::Core::Index.new(collection, raw_data) }

    its(:id) { should be(id) }
    its(:type) { should be(type_as_sym) }

    it 'should know which fields it is on' do
      skip 'Currently not working on Rubinius'
      expect(subject).to include(field_as_sym)
    end

    its(:unique) { should be(unique) }

    it 'should be deletable' do
      expect(collection).to receive(:send_request)
        .with(path, delete_payload)

      subject.delete
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ashikawa-core-0.11.0 spec/unit/index_spec.rb