Sha256: 5d5a63706060094a2967d025cd391a7c723a22d0028b164047b91b18ebf8d5b6

Contents?: true

Size: 1.26 KB

Versions: 76

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

require 'rails_helper'

describe LHS::Record do
  before do
    class Record < LHS::Record
      endpoint 'http://datastore/records'
      endpoint 'http://datastore/records/{id}'
    end

    class AnotherRecord < LHS::Record
      endpoint 'http://datastore/otherrecords'
      endpoint 'http://datastore/otherrecords/{id}'

      def id
        another_id
      end
    end
  end

  context 'reload!' do
    it 'reloads the record by id' do
      stub_request(:post, "http://datastore/records")
        .to_return(body: { id: 1, name: 'Steve' }.to_json)
      record = Record.create!(name: 'Steve')
      stub_request(:get, "http://datastore/records/1")
        .to_return(body: { id: 1, name: 'Steve', async: 'data' }.to_json)
      record.reload!
      expect(record.async).to eq 'data'
    end

    it 'reloads the record by id if a record method defines the actual id' do
      stub_request(:post, "http://datastore/otherrecords")
        .to_return(body: { another_id: 2, name: 'Can' }.to_json)
      record = AnotherRecord.create!(name: 'Can')
      stub_request(:get, "http://datastore/otherrecords/2")
        .to_return(body: { id: 2, name: 'Can', async: 'data' }.to_json)
      record.reload!
      expect(record.async).to eq 'data'
    end
  end
end

Version data entries

76 entries across 76 versions & 1 rubygems

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