Sha256: 804c5e37e2b77b944ca9bc6b62abd7a52f120a2f69c4638e39c0216de01d1ba0

Contents?: true

Size: 1.4 KB

Versions: 1

Compression:

Stored size: 1.4 KB

Contents

# encoding: utf-8
require_relative '../test_helper'

module PagarMe
  class SubscriptionTest < Test::Unit::TestCase
	should 'be able to create subscription with plan' do
	  plan = test_plan
	  plan.create
	  subscription = test_subscription
	  subscription.plan = plan
	  subscription.create
	  test_plan_response(subscription.plan)
	  test_transaction_with_customer(subscription)
	end

	should 'be able to create subscription without plan' do
	  subscription = test_subscription({:amount => 2000})
	  subscription.create
	  assert subscription.current_transaction.amount == 2000
	  subscription.charge(2000)
	  assert subscription.current_transaction.kind_of?(PagarMe::Transaction)
	  test_subscription_transaction_response(subscription.current_transaction)
	end

	should 'be able to change plans' do
	  subscription = test_subscription
	  plan = test_plan
	  plan.create

	  plan2 = PagarMe::Plan.new({
		:name => "Plano Silver",
		:days => 30,
		:amount => 3000
	  });
	  plan2.create

	  subscription.plan = plan
	  subscription.create

	  assert subscription.plan.id == plan.id
	  subscription.plan = plan2
	  subscription.save

	  assert subscription.plan.id == plan2.id
	end

	should 'be able to cancel a subscription' do
	  subscription = test_subscription
	  plan = test_plan
	  plan.create

	  subscription.plan = plan
	  subscription.create

	  subscription.cancel

	  assert subscription.status == 'canceled'
	end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pagarme-1.8 test/pagarme/subscription.rb