Sha256: a0f75a765d95185f3677f38f104b55c627da1e0e152e21528869e61f22072f9f

Contents?: true

Size: 1.81 KB

Versions: 1

Compression:

Stored size: 1.81 KB

Contents

require 'spec_helper.rb'

module Spree
  describe PaymentMethod::Liqpay do
    let(:store) { Spree::Store.current }

    before do
      create :store, name: 'Test store'
    end

    let :payment_method do
      create :liqpay
    end

    it 'has server' do
      expect(payment_method.preferred_server).not_to be_nil
    end

    it 'has public key' do
      expect(payment_method.preferred_public_key).not_to be_nil
    end

    it 'has private key' do
      expect(payment_method.preferred_private_key).not_to be_nil
    end

    it 'has order description' do
      expect(payment_method.preferred_order_description).not_to be_nil
      expect(payment_method.preferred_order_description).to eq store.name
    end

    it 'is in test mode' do
      expect(payment_method.preferred_test_mode).to eq true
    end

    describe '#cnb_form_fields' do
      let(:order) {create :order}

      let(:result_url) {'http://example.com/result_url'}
      let(:server_url) {'http://example.com/server_url'}

      let :provider do
        provider = double 'Provider'
        allow(payment_method).to receive(:provider) { provider }
        provider
      end

      let :response do
        {
            data: 'data',
            signature: 'signature'
        }
      end

      let :form_fields do
        {
            amount: order.total,
            currency: order.currency,
            description: payment_method.preferred_order_description,
            order_id: order.id,
            result_url: result_url,
            server_url: server_url,
            sandbox: 1
        }
      end

      it 'returns provider cnb form fields' do
        expect(provider).to receive(:cnb_form_fields).with(form_fields).and_return response
        expect(payment_method.cnb_form_fields order, result_url, server_url).to eq response
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spree_liqpay-0.1.0 spec/models/spree/payment_method/liqpay_spec.rb