Sha256: 7464e85f841a9885aca87163bcf4b31725afecb112cc31cada6695efaa411bbc

Contents?: true

Size: 1.79 KB

Versions: 40

Compression:

Stored size: 1.79 KB

Contents

require 'spec_helper'

describe Killbill::<%= class_name %>::PaymentPlugin do

  include ::Killbill::Plugin::ActiveMerchant::RSpec

  before(:each) do
    Dir.mktmpdir do |dir|
      file = File.new(File.join(dir, '<%= identifier %>.yml'), 'w+')
      file.write(<<-eos)
:<%= identifier %>:
  :test: true
# As defined by spec_helper.rb
:database:
  :adapter: 'sqlite3'
  :database: 'test.db'
      eos
      file.close

      @plugin = build_plugin(::Killbill::<%= class_name %>::PaymentPlugin, '<%= identifier %>', File.dirname(file))

      # Start the plugin here - since the config file will be deleted
      @plugin.start_plugin
    end
  end

  it 'should start and stop correctly' do
    @plugin.stop_plugin
  end

  it 'should generate forms correctly' do
    kb_account_id = SecureRandom.uuid
    kb_tenant_id  = SecureRandom.uuid
    context       = @plugin.kb_apis.create_context(kb_tenant_id)
    fields        = @plugin.hash_to_properties({
                                                   :order_id => '1234',
                                                   :amount   => 10
                                               })
    form          = @plugin.build_form_descriptor kb_account_id, fields, [], context

    form.kb_account_id.should == kb_account_id
    form.form_method.should == 'POST'
    form.form_url.should == 'https://<%= identifier %>.com'

    form_fields = @plugin.properties_to_hash(form.form_fields)
  end

  it 'should receive notifications correctly' do
    description    = 'description'

    kb_tenant_id = SecureRandom.uuid
    context      = @plugin.kb_apis.create_context(kb_tenant_id)
    properties   = @plugin.hash_to_properties({ :description => description })

    notification    = ""
    gw_notification = @plugin.process_notification notification, properties, context
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
killbill-9.4.1 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.3.6 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-9.4.0 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-9.3.2 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-9.3.1 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.3.5 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-9.3.0 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-9.2.2 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.3.4 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.3.3 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-9.2.1 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-9.2.0 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.3.2 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.3.1 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.3.0 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.2.0 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.1.0 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-7.0.6 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.0.1 generators/active_merchant/templates/spec/base_plugin_spec.rb
killbill-8.0.0 generators/active_merchant/templates/spec/base_plugin_spec.rb