Sha256: 930097b4f3f5db1e4a8c9335ca934bf026fb5d17184513dec3bbebed796a6de5

Contents?: true

Size: 1.34 KB

Versions: 22

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'

describe ::Waistband::Result do

  let(:result_hash) do
    {
      "_index" => "bus_events",
      "_type" => "bus_event",
      "_id" => "a2081c0ce39b25d50b0a4be3c116ee7f",
      "_score" => nil,
      "_source" => {
        "bus_event_type" => "task_opened",
        "timeline_event" => "true",
        "_message" => "true"
      },
      "sort" => [nil]
    }
  end

  let(:result) { ::Waistband::Result.new(result_hash) }

  it "provides accessors for all default fields" do
    expect(result._id).to eql 'a2081c0ce39b25d50b0a4be3c116ee7f'
    expect(result._score).to be_nil
    expect(result._type).to eql 'bus_event'
    expect(result._index).to eql 'bus_events'
    expect(result.sort).to eql([nil])
    expect(result._source).to eql({
      "bus_event_type" => "task_opened",
      "timeline_event" => "true",
      "_message" => "true"
    })
  end

  it "provides method missing interface for the _source hash" do
    expect(result.bus_event_type).to eql 'task_opened'
    expect(result.timeline_event).to eql 'true'
    expect(result._message).to eql 'true'
  end

  it "provides to_hash method for jbuilder compatibility" do
    expect(result.to_hash).to eql({
      "bus_event_type" => "task_opened",
      "timeline_event" => "true",
      "_message" => "true"
    })

    expect(result.to_hash).to eql(result._source)
  end

end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
waistband-6.3.1 spec/lib/result_spec.rb
waistband-6.3.0 spec/lib/result_spec.rb
waistband-6.2.0 spec/lib/result_spec.rb
waistband-6.1.1 spec/lib/result_spec.rb
waistband-6.1.0 spec/lib/result_spec.rb
waistband-6.0.0 spec/lib/result_spec.rb
waistband-0.16.7 spec/lib/result_spec.rb
waistband-0.16.6 spec/lib/result_spec.rb
waistband-0.16.5 spec/lib/result_spec.rb
waistband-0.16.3 spec/lib/result_spec.rb
waistband-0.16.2 spec/lib/result_spec.rb
waistband-0.16.1 spec/lib/result_spec.rb
waistband-0.15.2 spec/lib/result_spec.rb
waistband-0.15.1 spec/lib/result_spec.rb
waistband-0.14.3 spec/lib/result_spec.rb
waistband-0.14.2 spec/lib/result_spec.rb
waistband-0.14.1 spec/lib/result_spec.rb
waistband-0.14.0 spec/lib/result_spec.rb
waistband-0.13.0 spec/lib/result_spec.rb
waistband-0.12.2 spec/lib/result_spec.rb