Sha256: 6b751dc32998c3487faabf30d6a6519b1732aa0480594433379e90b3916eda8d

Contents?: true

Size: 1.48 KB

Versions: 7

Compression:

Stored size: 1.48 KB

Contents

require 'spec_helper'

describe CatarsePagarme::NotificationsController, type: :controller do
  let(:fake_transaction) { double("fake transaction", id: payment.gateway_id, card_brand: 'visa', acquirer_name: 'stone', tid: '404040404', installments: 2) }

  before do
    @routes = CatarsePagarme::Engine.routes
    PagarMe::PostBack.stub(:validate_request_signature?).and_return(true)
    PagarMe::Transaction.stub(:find_by_id).and_return(fake_transaction)
  end

  let(:project) { create(:project, goal: 10_000, state: 'online') }
  let(:contribution) { create(:contribution, value: 10, project: project) }
  let(:payment) {
    p = contribution.payments.first
    p.update_attributes gateway_id: 'abcd'
    p
  }
  let(:credit_card) { create(:credit_card, subscription_id: '1542')}

  describe 'CREATE' do
    context "with invalid payment" do
      before do
        PaymentEngines.stub(:find_payment).and_return(nil)
        post :create, { locale: :pt, id: 'abcdfg'}
      end

      it "should not found the payment" do
        expect(response.code.to_i).to eq(404)
      end
    end

    context "with valid payment" do
      before do
        PaymentEngines.stub(:find_payment).and_return(payment)
        post :create, { locale: :pt, id: 'abcd'}
      end

      it "should save an extra_data into payment_notifications" do
        expect(payment.payment_notifications.size).to eq(1)
      end

      it "should return 200 status" do
        expect(response.code.to_i).to eq(200)
      end
    end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
catarse_pagarme-2.9.12 spec/controllers/catarse_pagarme/notifications_controller_spec.rb
catarse_pagarme-2.9.11 spec/controllers/catarse_pagarme/notifications_controller_spec.rb
catarse_pagarme-2.9.10 spec/controllers/catarse_pagarme/notifications_controller_spec.rb
catarse_pagarme-2.9.9 spec/controllers/catarse_pagarme/notifications_controller_spec.rb
catarse_pagarme-2.9.8 spec/controllers/catarse_pagarme/notifications_controller_spec.rb
catarse_pagarme-2.9.7 spec/controllers/catarse_pagarme/notifications_controller_spec.rb
catarse_pagarme-2.9.6 spec/controllers/catarse_pagarme/notifications_controller_spec.rb