Sha256: 7f28823c0d2d0a72ce62d21c8df51e44cdcba3d879b442b7ac480fc8d6c09f81
Contents?: true
Size: 1004 Bytes
Versions: 2
Compression:
Stored size: 1004 Bytes
Contents
require "stubs/payment_gateway" describe PaymentGateway do context "#purchase" do it "makes purchase with valid credit card" do response = subject.purchase 1000, valid_credit_card expect(response['success'][0]).to eq('true') end it "fails purchase with invalid credit card" do response = subject.purchase 1000, invalid_credit_card expect(response['success'][0]).to eq('false') expect(response['error_message'][0]).to eq('Unsupported Credit Card Type') end it "returns error response if amount is negative" do expect{subject.purchase(-1000, valid_credit_card)}.to raise_exception(Exception) end end private def credit_card_class Struct.new(:first_name, :last_name, :number, :card_type, :month, :year, :verification_value) end def valid_credit_card credit_card_class.new("John", "Appleseed", "4242424242424242", "VISA", 8, Time.now.year+1, "000") end def invalid_credit_card credit_card_class.new end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
webmock_method-1.2.5 | spec/payment_gateway_spec.rb |
webmock_method-1.2.4 | spec/payment_gateway_spec.rb |