Sha256: 0e2e9239d475cf77a3b280b597a7ba87f868e4f276cdfdb2350d66e11be9f9a5

Contents?: true

Size: 1.24 KB

Versions: 23

Compression:

Stored size: 1.24 KB

Contents

require 'spec_helper'

describe ActiveRecord::Turntable::Sequencer::Api do
  before(:all) do
    reload_turntable!(File.join(File.dirname(__FILE__), "../../../config/turntable.yml"))
  end

  let(:sequencer) { ActiveRecord::Turntable::Sequencer::Api.new(klass, options) }
  let(:sequence_name) { "hogefuga" }
  let(:klass) { Class.new }
  let(:api_host) { "example.example" }
  let(:api_port) { 80 }
  let(:options) { { "api_host" => api_host, "api_port" => api_port } }
  let(:api_response) { 1024 }

  let(:next_sequence_uri) { "http://#{api_host}/sequences/#{sequence_name}/new" }
  let(:current_sequence_uri) { "http://#{api_host}/sequences/#{sequence_name}" }

  describe "#next_sequence_value" do
    before do
      stub_request(:get, next_sequence_uri).to_return(:body => api_response.to_s)
    end

    subject { sequencer.next_sequence_value(sequence_name) }
    it { is_expected.to be_kind_of(Integer) }
    it { is_expected.to eq api_response }
  end

  describe "#current_sequence_value" do
    before do
      stub_request(:get, current_sequence_uri).to_return(:body => api_response.to_s)
    end

    subject { sequencer.current_sequence_value(sequence_name) }
    it { is_expected.to be_kind_of(Integer) }
    it { is_expected.to eq api_response }
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
activerecord-turntable-2.5.0 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.4.0 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.3.3 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.3.2 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.3.1 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.3.0 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.2.2 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.2.1 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.2.0 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.1.1 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.1.0 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.1.0.rc2 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.1.0.rc1 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.1.0.beta2 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.1.0.beta1 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.0.6 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.0.5 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.0.4 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.0.3 spec/active_record/turntable/sequencer/api_spec.rb
activerecord-turntable-2.0.2 spec/active_record/turntable/sequencer/api_spec.rb