test/spec/plans_spec.rb in openpay-1.0.3 vs test/spec/plans_spec.rb in openpay-1.0.4

- old
+ new

@@ -1,175 +1,152 @@ require_relative '../spec_helper' describe Plans do - before(:all) do @merchant_id='mywvupjjs9xdnryxtplq' @private_key='sk_92b25d3baec149e6b428d81abfe37006' @openpay=OpenpayApi.new(@merchant_id, @private_key) @customers=@openpay.create(:customers) @plans=@openpay.create(:plans) @subscriptions=@openpay.create(:subscriptions) - end after(:all) do @plans.delete_all end + it 'has all required methods' do + %w(all each create get list delete).each do |meth| + expect(@plans).to respond_to(meth) + end + end describe '.create' do - it 'creates a merchant plan' do plan_hash= FactoryGirl.build(:plan, repeat_every: 5) plan=@plans.create(plan_hash) - #validates expect(@plans.get(plan['id'])['repeat_every']).to be 5 #clean @plans.delete(plan['id']) - end - end - describe 'get' do it 'gets a merchant plan' do - #creates a plan plan_hash= FactoryGirl.build(:plan, repeat_every: 5, amount: 500) plan=@plans.create(plan_hash) - #validates expect(@plans.get(plan['id'])['repeat_every']).to be 5 expect(@plans.get(plan['id'])['amount']).to be_within(0.1).of(500) - #clean @plans.delete(plan['id']) end - end + it 'fails to get a non existing customer plan' do + #validates + expect { @plans.get('111111') }.to raise_exception OpenpayTransactionException + begin + @plans.get('111111') + rescue OpenpayTransactionException => e + expect(e.description).to match 'The requested resource doesn\'t exist' + end - - it 'fails to get a non existing customer plan' do - - - #validates - expect { @plans.get('111111') }.to raise_exception OpenpayTransactionException - begin - @plans.get('111111') - rescue OpenpayTransactionException => e - - expect(e.description).to match 'The requested resource doesn\'t exist.' - end end - describe '.all' do - it 'returns all customer plans' do - expect(@plans.all.size).to be_a Integer + end + end + describe '.list' do + it 'list all plans given the filter' do + #creates a plan + plan_hash= FactoryGirl.build(:plan, repeat_every: 5, amount: 500) + plan=@plans.create(plan_hash) + + search_params = OpenpayUtils::SearchParams.new + search_params.limit = 1 + expect(@plans.list(search_params).size).to eq 1 + + #clean + @plans.delete(plan['id']) end end - describe '.update' do - it 'updates an existing customer plan' do - #creates a plan plan_hash= FactoryGirl.build(:plan, trial_days: 10) plan=@plans.create(plan_hash) expect(plan['trial_days']).to be 10 - - plan_hash= FactoryGirl.build(:plan, trial_days: 100) - plan=@plans.update(plan_hash, plan['id']) - expect(plan['trial_days']).to be 100 #cleanup @plans.delete(plan['id']) - end - it 'fails to update an non existing customer plan' do plan_hash= FactoryGirl.build(:plan, trial_days: 100) #validates expect { @plans.update(plan_hash, '111111') }.to raise_exception RestClient::ResourceNotFound begin @plans.update(plan_hash, '111111') rescue RestClient::ResourceNotFound => e - expect(e.http_body).to be_a String expect(e.message).to match '404 Resource Not Found' - end end - end - describe '.each' do it 'iterates over all customer plans' do #creates a plan plan_hash= FactoryGirl.build(:plan, trial_days: 10) plan=@plans.create(plan_hash) plan1=@plans.create(plan_hash) plan2=@plans.create(plan_hash) - expect(@plans.all.size).to be_a Integer @plans.each do |plan| - expect(plan['name']).to match 'Curso de ingles' @plans.delete(plan['id']) end expect(@plans.all.size).to be_a Integer - end - end - - - end - - - -