Sha256: 268e68fb52458f22873cb89a0bc417675479b4df1f7f5eee2268912e12d393ad

Contents?: true

Size: 809 Bytes

Versions: 2

Compression:

Stored size: 809 Bytes

Contents

#encoding: utf-8
require File.join(File.dirname(__FILE__), 'spec_helper')
require 'activesearch/algolia'
require_relative 'models/algolia'

YAML.load_file(File.dirname(__FILE__) + '/../config/algolia.yml').tap do |config|
  ActiveSearch::Algolia::Client.configure(config["api_key"], config["app_id"])
end

describe ActiveSearch::Algolia do
  before do
    ActiveSearch::Algolia::Client.new.delete_index
  end
  
  context "retry on errors" do
    before do
      times_called = 0
      @instance = AlgoliaModel.new(title: "Example")
      ActiveSearch::Algolia::Client.should_receive(:put).exactly(3).times.and_return do
        times_called += 1
        raise Errno::ECONNRESET if times_called <= 2
      end
    end
    
    subject { -> { @instance.save } }
    
    it { should_not raise_error }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activesearch-0.2.0 spec/algolia_spec.rb
activesearch-0.1.3 spec/algolia_spec.rb