shared_examples "available http request methods" do it "instantiates a new Request object" do VCR.use_cassette("client/#{http_method}/request") do expect(Myfinance::Request).to receive(:new).with( body: params, method: http_method, token: "b552dd5a8598ca089b91c5e355a83b86e4696aefac9eaa05", url: "#{Myfinance.configuration.url}#{url}", user_agent: "Myfinance Ruby Client v#{Myfinance::VERSION}", account_id: account_id ).and_call_original subject.send(http_method, url, body: params) end end it "runs the request" do VCR.use_cassette("client/#{http_method}/request") do expect_any_instance_of(Myfinance::Request).to receive(:run).and_call_original subject.send(http_method, url, body: params) end end it "instantiates a new Response object" do VCR.use_cassette("client/#{http_method}/request") do expect(Myfinance::Response).to receive(:new).and_call_original subject.send(http_method, url, body: params) end end it "resolves the response of the request a new Response object" do VCR.use_cassette("client/#{http_method}/request") do expect_any_instance_of(Myfinance::Response).to receive(:resolve!).and_call_original subject.send(http_method, url, body: params) end end end