From 38e8de30fb8161d758de68871c56dd9220a75ea2 Mon Sep 17 00:00:00 2001 From: Luay Bseiso Date: Wed, 24 Jul 2013 14:05:01 +0300 Subject: [PATCH] add tests for post_to_url method --- spec/spec_helper.rb | 3 ++- spec/stripe_tester_spec.rb | 27 ++++++++++++++++++++++++++- stripe_tester.gemspec | 1 + 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 28e45fe..8ea9137 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,5 +1,6 @@ require 'stripe_tester' -require "mocha/api" +require 'mocha/api' +require 'fakeweb' RSpec.configure do |config| config.order = "random" diff --git a/spec/stripe_tester_spec.rb b/spec/stripe_tester_spec.rb index 54f9724..16efd25 100644 --- a/spec/stripe_tester_spec.rb +++ b/spec/stripe_tester_spec.rb @@ -69,8 +69,33 @@ expect(StripeTester.webhook_url).to eq(nil) end - it "#post_to_url should send data to url" do + it "#post_to_url should return true when request is successful" do + data = StripeTester.load_template(:invoice_created) + url = "http://localhost:3000/transactions" + StripeTester.webhook_url = url + + FakeWeb.register_uri(:post, + url, + body: data.to_json, + content_type: 'application/json') + + response = StripeTester.post_to_url(data) + + expect(response).to be(true) + end + + it "#post_to_url should raise an error when request fails" do + data = StripeTester.load_template(:invoice_created) + url = "http://localhost:3000/" + StripeTester.webhook_url = url + + FakeWeb.register_uri(:post, + url, + body: data.to_json, + content_type: 'application/json', + status: ["404", "Not Found"]) + expect{ StripeTester.post_to_url(data) }.to raise_error('404 "Not Found"') end it "#post_to_url should raise an error if webhook URL is not set" do diff --git a/stripe_tester.gemspec b/stripe_tester.gemspec index 8681e59..e4bd2da 100644 --- a/stripe_tester.gemspec +++ b/stripe_tester.gemspec @@ -23,4 +23,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency "rake" spec.add_development_dependency "rspec" spec.add_development_dependency "mocha" + spec.add_development_dependency "fakeweb", "~> 1.3" end