tangocard-raas 1.1.2 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -175
  3. data/README.md +38 -525
  4. data/lib/raas.rb +32 -19
  5. data/lib/raas/api_helper.rb +146 -54
  6. data/lib/raas/configuration.rb +22 -30
  7. data/lib/raas/controllers/accounts_controller.rb +146 -92
  8. data/lib/raas/controllers/base_controller.rb +32 -29
  9. data/lib/raas/controllers/catalog_controller.rb +31 -14
  10. data/lib/raas/controllers/customers_controller.rb +113 -72
  11. data/lib/raas/controllers/exchange_rates_controller.rb +40 -12
  12. data/lib/raas/controllers/fund_controller.rb +345 -0
  13. data/lib/raas/controllers/orders_controller.rb +166 -105
  14. data/lib/raas/controllers/status_controller.rb +31 -14
  15. data/lib/raas/exceptions/api_exception.rb +4 -2
  16. data/lib/raas/exceptions/raas_client_exception.rb +14 -12
  17. data/lib/raas/exceptions/raas_generic_exception.rb +9 -9
  18. data/lib/raas/exceptions/raas_server_exception.rb +14 -12
  19. data/lib/raas/http/auth/basic_auth.rb +7 -4
  20. data/lib/raas/http/faraday_client.rb +19 -7
  21. data/lib/raas/http/http_call_back.rb +11 -6
  22. data/lib/raas/http/http_client.rb +50 -32
  23. data/lib/raas/http/http_context.rb +5 -2
  24. data/lib/raas/http/http_method_enum.rb +6 -2
  25. data/lib/raas/http/http_request.rb +7 -3
  26. data/lib/raas/http/http_response.rb +3 -1
  27. data/lib/raas/models/account_model.rb +32 -23
  28. data/lib/raas/models/account_summary_model.rb +26 -17
  29. data/lib/raas/models/base_model.rb +11 -9
  30. data/lib/raas/models/billing_address_model.rb +105 -0
  31. data/lib/raas/models/brand_model.rb +39 -35
  32. data/lib/raas/models/catalog_model.rb +15 -13
  33. data/lib/raas/models/create_account_request_model.rb +14 -14
  34. data/lib/raas/models/create_credit_card_request_model.rb +96 -0
  35. data/lib/raas/models/create_customer_request_model.rb +12 -12
  36. data/lib/raas/models/create_order_request_model.rb +45 -35
  37. data/lib/raas/models/credit_card_model.rb +124 -0
  38. data/lib/raas/models/currency_breakdown_model.rb +18 -18
  39. data/lib/raas/models/customer_model.rb +24 -22
  40. data/lib/raas/models/deposit_request_model.rb +60 -0
  41. data/lib/raas/models/deposit_response_model.rb +80 -0
  42. data/lib/raas/models/exchange_rate_model.rb +18 -17
  43. data/lib/raas/models/exchange_rate_response_model.rb +17 -15
  44. data/lib/raas/models/full_name_email_model.rb +42 -0
  45. data/lib/raas/models/get_deposit_response_model.rb +80 -0
  46. data/lib/raas/models/get_orders_response_model.rb +16 -14
  47. data/lib/raas/models/item_model.rb +36 -34
  48. data/lib/raas/models/name_email_model.rb +14 -14
  49. data/lib/raas/models/new_credit_card_model.rb +51 -0
  50. data/lib/raas/models/order_model.rb +124 -92
  51. data/lib/raas/models/order_summary_model.rb +155 -0
  52. data/lib/raas/models/page_model.rb +16 -16
  53. data/lib/raas/models/raas_client_error_model.rb +16 -16
  54. data/lib/raas/models/raas_server_error_model.rb +12 -12
  55. data/lib/raas/models/resend_order_response_model.rb +11 -11
  56. data/lib/raas/models/reward_credential_model.rb +14 -14
  57. data/lib/raas/models/reward_model.rb +16 -14
  58. data/lib/raas/models/system_status_response_model.rb +10 -10
  59. data/lib/raas/models/unregister_credit_card_request_model.rb +51 -0
  60. data/lib/raas/models/unregister_credit_card_response_model.rb +53 -0
  61. data/lib/raas/raas_client.rb +36 -25
  62. data/test/controllers/controller_test_base.rb +31 -0
  63. data/test/controllers/test_accounts_controller.rb +79 -0
  64. data/test/controllers/test_catalog_controller.rb +65 -0
  65. data/test/controllers/test_customers_controller.rb +61 -0
  66. data/test/controllers/test_exchange_rates_controller.rb +35 -0
  67. data/test/controllers/test_fund_controller.rb +108 -0
  68. data/test/controllers/test_orders_controller.rb +86 -0
  69. data/test/controllers/test_status_controller.rb +27 -0
  70. data/test/http_response_catcher.rb +16 -0
  71. data/test/test_helper.rb +91 -0
  72. metadata +32 -10
@@ -1,17 +1,17 @@
1
- # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
2
3
 
3
4
  module Raas
5
+ # Represents the response returned from the status endpoint
4
6
  class SystemStatusResponseModel < BaseModel
5
- # System Status
7
+ # The status of the system
6
8
  # @return [String]
7
9
  attr_accessor :status
8
10
 
9
- # A mapping from model property names to API property names
11
+ # A mapping from model property names to API property names.
10
12
  def self.names
11
- if @_hash.nil?
12
- @_hash = {}
13
- @_hash["status"] = "status"
14
- end
13
+ @_hash = {} if @_hash.nil?
14
+ @_hash['status'] = 'status'
15
15
  @_hash
16
16
  end
17
17
 
@@ -19,14 +19,14 @@ module Raas
19
19
  @status = status
20
20
  end
21
21
 
22
- # Creates an instance of the object from a hash
22
+ # Creates an instance of the object from a hash.
23
23
  def self.from_hash(hash)
24
24
  return nil unless hash
25
25
 
26
- # Extract variables from the hash
26
+ # Extract variables from the hash.
27
27
  status = hash['status']
28
28
 
29
- # Create object from extracted values
29
+ # Create object from extracted values.
30
30
  SystemStatusResponseModel.new(status)
31
31
  end
32
32
  end
@@ -0,0 +1,51 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
3
+
4
+ module Raas
5
+ # Represents the request to remove a credit card
6
+ class UnregisterCreditCardRequestModel < BaseModel
7
+ # The customer identifier
8
+ # @return [String]
9
+ attr_accessor :customer_identifier
10
+
11
+ # The account identifier
12
+ # @return [String]
13
+ attr_accessor :account_identifier
14
+
15
+ # The credit card token
16
+ # @return [String]
17
+ attr_accessor :credit_card_token
18
+
19
+ # A mapping from model property names to API property names.
20
+ def self.names
21
+ @_hash = {} if @_hash.nil?
22
+ @_hash['customer_identifier'] = 'customerIdentifier'
23
+ @_hash['account_identifier'] = 'accountIdentifier'
24
+ @_hash['credit_card_token'] = 'creditCardToken'
25
+ @_hash
26
+ end
27
+
28
+ def initialize(customer_identifier = nil,
29
+ account_identifier = nil,
30
+ credit_card_token = nil)
31
+ @customer_identifier = customer_identifier
32
+ @account_identifier = account_identifier
33
+ @credit_card_token = credit_card_token
34
+ end
35
+
36
+ # Creates an instance of the object from a hash.
37
+ def self.from_hash(hash)
38
+ return nil unless hash
39
+
40
+ # Extract variables from the hash.
41
+ customer_identifier = hash['customerIdentifier']
42
+ account_identifier = hash['accountIdentifier']
43
+ credit_card_token = hash['creditCardToken']
44
+
45
+ # Create object from extracted values.
46
+ UnregisterCreditCardRequestModel.new(customer_identifier,
47
+ account_identifier,
48
+ credit_card_token)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,53 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
3
+
4
+ require 'date'
5
+ module Raas
6
+ # Represents the response from the unregister credit card call
7
+ class UnregisterCreditCardResponseModel < BaseModel
8
+ # The date the card was removed
9
+ # @return [DateTime]
10
+ attr_accessor :created_date
11
+
12
+ # A message describing the status of the card
13
+ # @return [String]
14
+ attr_accessor :message
15
+
16
+ # The credit card token
17
+ # @return [String]
18
+ attr_accessor :token
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['created_date'] = 'createdDate'
24
+ @_hash['message'] = 'message'
25
+ @_hash['token'] = 'token'
26
+ @_hash
27
+ end
28
+
29
+ def initialize(created_date = nil,
30
+ message = nil,
31
+ token = nil)
32
+ @created_date = created_date
33
+ @message = message
34
+ @token = token
35
+ end
36
+
37
+ # Creates an instance of the object from a hash.
38
+ def self.from_hash(hash)
39
+ return nil unless hash
40
+
41
+ # Extract variables from the hash.
42
+ created_date = APIHelper.rfc3339(hash['createdDate']) if
43
+ hash['createdDate']
44
+ message = hash['message']
45
+ token = hash['token']
46
+
47
+ # Create object from extracted values.
48
+ UnregisterCreditCardResponseModel.new(created_date,
49
+ message,
50
+ token)
51
+ end
52
+ end
53
+ end
@@ -1,53 +1,64 @@
1
- # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
2
3
 
3
4
  module Raas
5
+ # raas client class.
4
6
  class RaasClient
5
- # Singleton access to accounts controller
6
- # @return [AccountsController] Returns the controller instance
7
+ # Singleton access to status controller.
8
+ # @return [StatusController] Returns the controller instance.
9
+ def status
10
+ StatusController.instance
11
+ end
12
+
13
+ # Singleton access to accounts controller.
14
+ # @return [AccountsController] Returns the controller instance.
7
15
  def accounts
8
16
  AccountsController.instance
9
17
  end
10
18
 
11
- # Singleton access to orders controller
12
- # @return [OrdersController] Returns the controller instance
19
+ # Singleton access to orders controller.
20
+ # @return [OrdersController] Returns the controller instance.
13
21
  def orders
14
22
  OrdersController.instance
15
23
  end
16
24
 
17
- # Singleton access to catalog controller
18
- # @return [CatalogController] Returns the controller instance
19
- def catalog
20
- CatalogController.instance
25
+ # Singleton access to fund controller.
26
+ # @return [FundController] Returns the controller instance.
27
+ def fund
28
+ FundController.instance
21
29
  end
22
30
 
23
- # Singleton access to exchange_rates controller
24
- # @return [ExchangeRatesController] Returns the controller instance
31
+ # Singleton access to exchange_rates controller.
32
+ # @return [ExchangeRatesController] Returns the controller instance.
25
33
  def exchange_rates
26
34
  ExchangeRatesController.instance
27
35
  end
28
36
 
29
- # Singleton access to status controller
30
- # @return [StatusController] Returns the controller instance
31
- def status
32
- StatusController.instance
33
- end
34
-
35
- # Singleton access to customers controller
36
- # @return [CustomersController] Returns the controller instance
37
+ # Singleton access to customers controller.
38
+ # @return [CustomersController] Returns the controller instance.
37
39
  def customers
38
40
  CustomersController.instance
39
41
  end
40
42
 
41
- # Returns the configuration class for easy access
42
- # @return [Configuration] Returns the actual configuration class
43
+ # Singleton access to catalog controller.
44
+ # @return [CatalogController] Returns the controller instance.
45
+ def catalog
46
+ CatalogController.instance
47
+ end
48
+
49
+ # Returns the configuration class for easy access.
50
+ # @return [Configuration] Returns the actual configuration class.
43
51
  def config
44
52
  Configuration
45
53
  end
46
54
 
47
- # Initializer with authentication and configuration parameters
48
- def initialize(platform_name: 'QAPlatform2', platform_key: 'apYPfT6HNONpDRUj3CLGWYt7gvIHONpDRUYPfT6Hj')
49
- Configuration.platform_name = platform_name if platform_name
50
- Configuration.platform_key = platform_key if platform_key
55
+ # Initializer with authentication and configuration parameters.
56
+ def initialize(platform_name: 'QAPlatform2',
57
+ platform_key: 'apYPfT6HNONpDRUj3CLGWYt7gvIHONpDRUYPfT6Hj')
58
+ Configuration.platform_name = platform_name if
59
+ platform_name
60
+ Configuration.platform_key = platform_key if
61
+ platform_key
51
62
  end
52
63
  end
53
64
  end
@@ -0,0 +1,31 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ require 'json'
4
+ require 'test/unit'
5
+ require 'raas.rb'
6
+ require_relative '../test_helper.rb'
7
+ require_relative '../http_response_catcher.rb'
8
+
9
+ class ControllerTestBase < Test::Unit::TestCase
10
+ include Raas
11
+
12
+ class << self
13
+ attr_accessor :controller
14
+ end
15
+
16
+ # Called only once for a test class before any test has executed.
17
+ def self.startup
18
+ @@api_client = RaasClient.new
19
+ @@request_timeout = 30
20
+ @@assert_precision = 0.01
21
+
22
+ # Set Configuration parameters for test execution
23
+ Configuration.environment = Configuration::Environment::SANDBOX
24
+ end
25
+
26
+ # Called once before every test case.
27
+ def setup
28
+ @response_catcher = HttpResponseCatcher.new
29
+ self.class.controller.http_call_back = @response_catcher
30
+ end
31
+ end
@@ -0,0 +1,79 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ require_relative 'controller_test_base'
4
+
5
+ class AccountsControllerTests < ControllerTestBase
6
+ # Called only once for the class before any test has executed
7
+ def self.startup
8
+ self.controller = @@api_client.accounts
9
+ end
10
+
11
+ # Tests retrieving all accounts under a specific customer
12
+ def test_test_get_all_customer_accounts()
13
+ # Parameters for the API call
14
+ customer_identifier = 'sdkautotest1'
15
+
16
+ # Perform the API call through the SDK function
17
+ result = self.class.controller.get_accounts_by_customer(customer_identifier)
18
+
19
+ # Test response code
20
+ assert_equal(@response_catcher.response.status_code, 200)
21
+
22
+ # Test whether the captured response is as we expected
23
+ assert_not_nil(result)
24
+ expected_body = JSON.parse(
25
+ '[{"accountIdentifier":"sdkautotest3","accountNumber":"A01335766","displayN'\
26
+ 'ame":"SDK Auto Testing 3","createdAt":"2018-04-26T18:16:51.652Z","status":"'\
27
+ 'ACTIVE"},{"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","d'\
28
+ 'isplayName":"SDK Auto Testing 2","createdAt":"2018-04-26T18:13:45.196Z","st'\
29
+ 'atus":"ACTIVE"}]'
30
+ )
31
+ received_body = JSON.parse(@response_catcher.response.raw_body)
32
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
33
+ end
34
+
35
+ # Tests retrieving all accounts
36
+ def test_test_get_all_accounts()
37
+
38
+ # Perform the API call through the SDK function
39
+ result = self.class.controller.get_all_accounts()
40
+
41
+ # Test response code
42
+ assert_equal(@response_catcher.response.status_code, 200)
43
+
44
+ # Test whether the captured response is as we expected
45
+ assert_not_nil(result)
46
+ expected_body = JSON.parse(
47
+ '[{"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","displayN'\
48
+ 'ame":"SDK Auto Testing 2","currencyCode":"USD","currentBalance":0,"createdA'\
49
+ 't":"2018-04-26T18:13:45.196Z","status":"ACTIVE","contactEmail":"test@exampl'\
50
+ 'e.com"}]'
51
+ )
52
+ received_body = JSON.parse(@response_catcher.response.raw_body)
53
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
54
+ end
55
+
56
+ # Tests retrieving a single account
57
+ def test_test_get_single_account()
58
+ # Parameters for the API call
59
+ account_identifier = 'sdkautotest2'
60
+
61
+ # Perform the API call through the SDK function
62
+ result = self.class.controller.get_account(account_identifier)
63
+
64
+ # Test response code
65
+ assert_equal(@response_catcher.response.status_code, 200)
66
+
67
+ # Test whether the captured response is as we expected
68
+ assert_not_nil(result)
69
+ expected_body = JSON.parse(
70
+ '{"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","displayNa'\
71
+ 'me":"SDK Auto Testing 2","currencyCode":"USD","currentBalance":0,"createdAt'\
72
+ '":"2018-04-26T18:13:45.196Z","status":"ACTIVE","contactEmail":"test@example'\
73
+ '.com"}'
74
+ )
75
+ received_body = JSON.parse(@response_catcher.response.raw_body)
76
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
77
+ end
78
+
79
+ end
@@ -0,0 +1,65 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ require_relative 'controller_test_base'
4
+
5
+ class CatalogControllerTests < ControllerTestBase
6
+ # Called only once for the class before any test has executed
7
+ def self.startup
8
+ self.controller = @@api_client.catalog
9
+ end
10
+
11
+ # Tests if we can successfully retrieve a platform's catalog
12
+ def test_test_retrieve_catalog()
13
+
14
+ # Perform the API call through the SDK function
15
+ result = self.class.controller.get_catalog()
16
+
17
+ # Test response code
18
+ assert_equal(@response_catcher.response.status_code, 200)
19
+
20
+ # Test whether the captured response is as we expected
21
+ assert_not_nil(result)
22
+ expected_body = JSON.parse(
23
+ '{"catalogName":"TestCatalog","brands":[{"brandKey":"B916708","brandName":"'\
24
+ 'Amazon.com","disclaimer":"disclaimer","description":"desc","shortDescriptio'\
25
+ 'n":"short desc","terms":"terms","createdDate":"2016-06-17T16:52:24Z","lastU'\
26
+ 'pdateDate":"2017-10-23T22:18:51Z","imageUrls":{"80w-326ppi":"https://d30s7y'\
27
+ 'zk2az89n.cloudfront.net/images/brands/b916708-80w-326ppi.png","130w-326ppi"'\
28
+ ':"https://d30s7yzk2az89n.cloudfront.net/images/brands/b916708-130w-326ppi.p'\
29
+ 'ng","200w-326ppi":"https://d30s7yzk2az89n.cloudfront.net/images/brands/b916'\
30
+ '708-200w-326ppi.png","278w-326ppi":"https://d30s7yzk2az89n.cloudfront.net/i'\
31
+ 'mages/brands/b916708-278w-326ppi.png","300w-326ppi":"https://d30s7yzk2az89n'\
32
+ '.cloudfront.net/images/brands/b916708-300w-326ppi.png","1200w-326ppi":"http'\
33
+ 's://d30s7yzk2az89n.cloudfront.net/images/brands/b916708-1200w-326ppi.png"},'\
34
+ '"status":"active","items":[{"utid":"U666425","rewardName":"Amazon.com Gift '\
35
+ 'Card","currencyCode":"USD","status":"active","valueType":"VARIABLE_VALUE","'\
36
+ 'rewardType":"gift card","minValue":0.01,"maxValue":2000,"createdDate":"2016'\
37
+ '-06-17T17:38:45.294Z","lastUpdateDate":"2017-12-15T01:27:49.607Z","countrie'\
38
+ 's":["US"]}]},{"brandKey":"B725361","brandName":"AMC Theatres®","disclaimer"'\
39
+ ':"discl","description":"desc","shortDescription":"short desc","terms":"term'\
40
+ 's","createdDate":"2016-06-23T21:53:45Z","lastUpdateDate":"2016-07-25T22:41:'\
41
+ '11Z","imageUrls":{"80w-326ppi":"https://d30s7yzk2az89n.cloudfront.net/image'\
42
+ 's/brands/b725361-80w-326ppi.png","130w-326ppi":"https://d30s7yzk2az89n.clou'\
43
+ 'dfront.net/images/brands/b725361-130w-326ppi.png","200w-326ppi":"https://d3'\
44
+ '0s7yzk2az89n.cloudfront.net/images/brands/b725361-200w-326ppi.png","278w-32'\
45
+ '6ppi":"https://d30s7yzk2az89n.cloudfront.net/images/brands/b725361-278w-326'\
46
+ 'ppi.png","300w-326ppi":"https://d30s7yzk2az89n.cloudfront.net/images/brands'\
47
+ '/b725361-300w-326ppi.png","1200w-326ppi":"https://d30s7yzk2az89n.cloudfront'\
48
+ '.net/images/brands/b725361-1200w-326ppi.png"},"status":"active","items":[{"'\
49
+ 'utid":"U154092","rewardName":"AMC® Gift Card $10.00","currencyCode":"USD","'\
50
+ 'status":"active","valueType":"FIXED_VALUE","rewardType":"gift card","faceVa'\
51
+ 'lue":10,"createdDate":"2016-07-27T02:54:30.142Z","lastUpdateDate":"2016-09-'\
52
+ '21T20:59:01.874Z","countries":["US"]},{"utid":"U913336","rewardName":"AMC® '\
53
+ 'Gift Card $25.00","currencyCode":"USD","status":"active","valueType":"FIXED'\
54
+ '_VALUE","rewardType":"gift card","faceValue":25,"createdDate":"2016-07-27T0'\
55
+ '2:55:37.899Z","lastUpdateDate":"2016-10-17T20:55:00.386Z","countries":["US"'\
56
+ ']},{"utid":"U652361","rewardName":"AMC® Gift Card $50.00","currencyCode":"U'\
57
+ 'SD","status":"active","valueType":"FIXED_VALUE","rewardType":"gift card","f'\
58
+ 'aceValue":50,"createdDate":"2016-07-27T02:56:53.391Z","lastUpdateDate":"201'\
59
+ '6-09-21T20:59:16.283Z","countries":["US"]}]}]}'
60
+ )
61
+ received_body = JSON.parse(@response_catcher.response.raw_body)
62
+ assert(TestHelper.match_body(expected_body, received_body))
63
+ end
64
+
65
+ end
@@ -0,0 +1,61 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ require_relative 'controller_test_base'
4
+
5
+ class CustomersControllerTests < ControllerTestBase
6
+ # Called only once for the class before any test has executed
7
+ def self.startup
8
+ self.controller = @@api_client.customers
9
+ end
10
+
11
+ # Tests retrieving all customers
12
+ def test_test_get_all_customers()
13
+
14
+ # Perform the API call through the SDK function
15
+ result = self.class.controller.get_all_customers()
16
+
17
+ # Test response code
18
+ assert_equal(@response_catcher.response.status_code, 200)
19
+
20
+ # Test whether the captured response is as we expected
21
+ assert_not_nil(result)
22
+ expected_body = JSON.parse(
23
+ '[{"customerIdentifier":"sdkautotest1","displayName":"SDK Auto Testing 1","'\
24
+ 'status":"active","createdAt":"2018-04-26T18:13:12.874Z","accounts":[{"accou'\
25
+ 'ntIdentifier":"sdkautotest3","accountNumber":"A01335766","displayName":"SDK'\
26
+ ' Auto Testing 3","createdAt":"2018-04-26T18:16:51.652Z","status":"ACTIVE"},'\
27
+ '{"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","displayNam'\
28
+ 'e":"SDK Auto Testing 2","createdAt":"2018-04-26T18:13:45.196Z","status":"AC'\
29
+ 'TIVE"}]}]'
30
+ )
31
+ received_body = JSON.parse(@response_catcher.response.raw_body)
32
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
33
+ end
34
+
35
+ # Tests retrieving a single customer
36
+ def test_test_get_customer()
37
+ # Parameters for the API call
38
+ customer_identifier = 'sdkautotest1'
39
+
40
+ # Perform the API call through the SDK function
41
+ result = self.class.controller.get_customer(customer_identifier)
42
+
43
+ # Test response code
44
+ assert_equal(@response_catcher.response.status_code, 200)
45
+
46
+ # Test whether the captured response is as we expected
47
+ assert_not_nil(result)
48
+ expected_body = JSON.parse(
49
+ '{"customerIdentifier":"sdkautotest1","displayName":"SDK Auto Testing 1","s'\
50
+ 'tatus":"active","createdAt":"2018-04-26T18:13:12.874Z","accounts":[{"accoun'\
51
+ 'tIdentifier":"sdkautotest3","accountNumber":"A01335766","displayName":"SDK '\
52
+ 'Auto Testing 3","createdAt":"2018-04-26T18:16:51.652Z","status":"ACTIVE"},{'\
53
+ '"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","displayName'\
54
+ '":"SDK Auto Testing 2","createdAt":"2018-04-26T18:13:45.196Z","status":"ACT'\
55
+ 'IVE"}]}'
56
+ )
57
+ received_body = JSON.parse(@response_catcher.response.raw_body)
58
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
59
+ end
60
+
61
+ end