require "webmock/rspec" require "rspec/rails" RSpec.configure do |config| config.before do # list indexes WebMock. stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes/). to_return(body: '{ "items": [] }') # query index WebMock. stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+/). to_return(body: '{ "hits": [ { "objectID": 42 } ], "page": 1, "hitsPerPage": 1 }') # delete index WebMock. stub_request(:delete, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+/). to_return(body: '{ "taskID": 42 }') # clear index WebMock. stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/clear/). to_return(body: '{ "taskID": 42 }') # add object WebMock. stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+/). to_return(body: '{ "taskID": 42 }') # save object WebMock. stub_request(:put, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/[^\/]+/). to_return(body: '{ "taskID": 42 }') # partial update WebMock. stub_request(:put, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/[^\/]+\/partial/). to_return(body: '{ "taskID": 42 }') # get object WebMock. stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/[^\/]+/). to_return(body: "{}") # delete object WebMock. stub_request(:delete, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/[^\/]+/). to_return(body: '{ "taskID": 42 }') # batch WebMock. stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/batch/). to_return(body: '{ "taskID": 42 }') # settings WebMock. stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/settings/). to_return(body: "{}") WebMock. stub_request(:put, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/settings/). to_return(body: '{ "taskID": 42 }') # browse WebMock. stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/browse/). to_return(body: "{}") # operations WebMock. stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/operation/). to_return(body: '{ "taskID": 42 }') # tasks WebMock. stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/task\/[^\/]+/). to_return(body: '{ "status": "published" }') # index keys WebMock. stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/keys/). to_return(body: "{ }") WebMock. stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/keys/). to_return(body: '{ "keys": [] }') # global keys WebMock. stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/keys/).to_return(body: "{ }") WebMock. stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/keys/).to_return(body: '{ "keys": [] }') WebMock. stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/keys\/[^\/]+/).to_return(body: "{ }") WebMock. stub_request(:delete, /.*\.algolia(net\.com|\.net)\/1\/keys\/[^\/]+/).to_return(body: "{ }") # query POST WebMock. stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/query/). to_return(body: '{ "hits": [ { "objectID": 42 } ], "page": 1, "hitsPerPage": 1 }') end end