Skip to content

Commit

Permalink
Merge pull request #72 from mercadopago/feature/refactor-tests
Browse files Browse the repository at this point in the history
Refactor tests
  • Loading branch information
romerosilva-meli authored Jul 14, 2023
2 parents fe47274 + a10ec69 commit a72a704
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 70 deletions.
2 changes: 1 addition & 1 deletion .rubocop_todo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Gemspec/RequiredRubyVersion:
- 'mercadopago.gemspec'

# Offense count: 8
Lint/SelfAssignment:
Style/SelfAssignment:
Exclude:
- 'lib/mercadopago/core/mp_base.rb'

Expand Down
2 changes: 1 addition & 1 deletion lib/mercadopago/sdk.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def refund
def preapproval
Preapproval.new(request_options, http_client)
end

def preapproval_plan
PreapprovalPlan.new(request_options, http_client)
end
Expand Down
92 changes: 46 additions & 46 deletions tests/test_preapproval.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,88 +6,88 @@
require 'minitest/autorun'

class TestPreapproval < Minitest::Test
def setup
@card_token_object = {
card_number: '5031433215406351',
expiration_year: 2025,
expiration_month: 11,
security_code: '123',
cardholder: {
name: 'APRO'
}
}
end

def test_method_search
sdk = Mercadopago::SDK.new('APP_USR-558881221729581-091712-44fdc612e60e3e638775d8b4003edd51-471763966')
result = sdk.preapproval.search(filters: { id: '2c938084884df89301884fecf62e012a' })
sdk = Mercadopago::SDK.new(ENV['ACCESS_TOKEN'])

create_response = create_preapproval(sdk)
assert_equal 201, create_response[:status]

result = sdk.preapproval.search(filters: { id: create_response[:response]['id'] })
assert_equal 200, result[:status]
end

def test_method_get_id
sdk = Mercadopago::SDK.new('APP_USR-558881221729581-091712-44fdc612e60e3e638775d8b4003edd51-471763966')
result = sdk.preapproval.get('2c938084884df89301884fecf62e012a')
sdk = Mercadopago::SDK.new(ENV['ACCESS_TOKEN'])

create_response = create_preapproval(sdk)
assert_equal 201, create_response[:status]

result = sdk.preapproval.get(create_response[:response]['id'])
assert_equal 200, result[:status]
end

def test_method_post
sdk = Mercadopago::SDK.new('APP_USR-558881221729581-091712-44fdc612e60e3e638775d8b4003edd51-471763966')
sdk = Mercadopago::SDK.new(ENV['ACCESS_TOKEN'])

card_token_object = {
card_number: '5031433215406351',
expiration_year: 2025,
expiration_month: 11,
security_code: '123',
cardholder: {
name: 'APRO'
}
}
result = create_preapproval(sdk)
assert_equal 201, result[:status]
end

result_card_token = sdk.card_token.create(card_token_object)
def test_method_put
sdk = Mercadopago::SDK.new(ENV['ACCESS_TOKEN'])

preapproval_data = {
preapproval_plan_id: '2c938084884cac3001884fea32fe014a',
create_response = create_preapproval(sdk)
assert_equal 201, create_response[:status]

update_data = {
reason: 'Yoga classes',
external_reference: 'YG-1234',
external_reference: 'YG-12345',
payer_email: 'test_user@testuser.com',
card_token_id: result_card_token[:response]['id'],
auto_recurring: {
frequency: 1,
frequency: 2,
frequency_type: 'months',
start_date: '2023-06-02T13:07:14.260Z',
end_date: "2023-07-20T15:59:52.581Z",
transaction_amount: 10,
transaction_amount: 15,
currency_id: 'BRL'
},
back_url: 'https://www.mercadopago.com.ar',
status: 'authorized'
}

result = sdk.preapproval.create(preapproval_data)
assert_equal 201, result[:status]
result = sdk.preapproval.update(create_response[:response]['id'], update_data)
assert_equal 200, result[:status]
end

def test_method_put
sdk = Mercadopago::SDK.new('APP_USR-558881221729581-091712-44fdc612e60e3e638775d8b4003edd51-471763966')

card_token_object = {
card_number: '5031433215406351',
expiration_year: 2025,
expiration_month: 11,
security_code: '123',
cardholder: {
name: 'APRO'
}
}

result_card_token = sdk.card_token.create(card_token_object)
def create_preapproval(sdk)
result_card_token = sdk.card_token.create(@card_token_object)

preapproval_data = {
preapproval_plan_id: '2c938084884cac3001884fea32fe014a',
reason: 'Yoga classes',
external_reference: 'YG-12345',
external_reference: 'YG-1234',
payer_email: 'test_user@testuser.com',
card_token_id: result_card_token[:response]['id'],
auto_recurring: {
frequency: 2,
frequency: 1,
frequency_type: 'months',
transaction_amount: 15,
start_date: '2023-06-02T13:07:14.260Z',
end_date: "2023-07-20T15:59:52.581Z",
transaction_amount: 10,
currency_id: 'BRL'
},
back_url: 'https://www.mercadopago.com.ar',
status: 'authorized'
}
result = sdk.preapproval.update('2c938084884df89301884fecf62e012a', preapproval_data)
assert_equal 200, result[:status]

sdk.preapproval.create(preapproval_data)
end
end
56 changes: 34 additions & 22 deletions tests/test_preapproval_plan.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,8 @@
require 'minitest/autorun'

class TestPreapprovalPlan < Minitest::Test
def test_method_search
sdk = Mercadopago::SDK.new('TEST-6130770563612470-121314-d27bbd7363e64c3853f058251cf8fc6e-537031659')
result = sdk.preapproval_plan.search(filters: { id: '2c9380848848983b01884f8458d70324' })

assert_equal 200, result[:status]
end

def test_method_get_id
sdk = Mercadopago::SDK.new('TEST-6130770563612470-121314-d27bbd7363e64c3853f058251cf8fc6e-537031659')
result = sdk.preapproval_plan.get('2c9380848848983b01884f8458d70324')

assert_equal 200, result[:status]
end

def test_method_post
sdk = Mercadopago::SDK.new('TEST-6130770563612470-121314-d27bbd7363e64c3853f058251cf8fc6e-537031659')

preapproval_plan_data = {
def setup
@preapproval_plan_data = {
reason: 'Yoga classes',
auto_recurring: {
frequency: 1,
Expand All @@ -48,14 +32,38 @@ def test_method_post
},
back_url: 'https://www.yoursite.com'
}
end

def test_method_search
sdk = Mercadopago::SDK.new(ENV['ACCESS_TOKEN'])
result = sdk.preapproval_plan.create(@preapproval_plan_data)
assert_equal 201, result[:status]

result = sdk.preapproval_plan.search(filters: { id: result[:response]['id'] })
assert_equal 200, result[:status]
end

def test_method_get_id
sdk = Mercadopago::SDK.new(ENV['ACCESS_TOKEN'])

result = sdk.preapproval_plan.create(@preapproval_plan_data)
assert_equal 201, result[:status]

result = sdk.preapproval_plan.get(result[:response]['id'])
assert_equal 200, result[:status]
end

def test_method_post
sdk = Mercadopago::SDK.new(ENV['ACCESS_TOKEN'])

result = sdk.preapproval_plan.create(preapproval_plan_data)
result = sdk.preapproval_plan.create(@preapproval_plan_data)
assert_equal 201, result[:status]
end

def test_method_put
sdk = Mercadopago::SDK.new('TEST-6130770563612470-121314-d27bbd7363e64c3853f058251cf8fc6e-537031659')
preapproval_plan_data = {
sdk = Mercadopago::SDK.new(ENV['ACCESS_TOKEN'])

update_data = {
reason: 'Pilates classes',
auto_recurring: {
frequency: 1,
Expand All @@ -80,7 +88,11 @@ def test_method_put
},
back_url: 'https://www.yoursite.com'
}
result = sdk.preapproval_plan.update('2c9380848848983b01884f8458d70324', preapproval_plan_data)

result = sdk.preapproval_plan.create(@preapproval_plan_data)
assert_equal 201, result[:status]

result = sdk.preapproval_plan.update(result[:response]['id'], update_data)
assert_equal 200, result[:status]
end
end

0 comments on commit a72a704

Please sign in to comment.