moneta-api 1.1.0 → 1.2.0

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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moneta/api/data_mapper.rb +39 -42
  3. data/lib/moneta/api/key_value_serializer.rb +15 -7
  4. data/lib/moneta/api/requests/find_bank_accounts_request.rb +16 -0
  5. data/lib/moneta/api/requests/get_profile_info_request.rb +19 -0
  6. data/lib/moneta/api/responses/bank_account_info.rb +12 -0
  7. data/lib/moneta/api/responses/find_bank_accounts_response.rb +17 -0
  8. data/lib/moneta/api/responses/get_profile_info_response.rb +7 -0
  9. data/lib/moneta/api/responses/key_value_response.rb +17 -0
  10. data/lib/moneta/api/service_methods.rb +12 -0
  11. data/lib/moneta/api/version.rb +1 -1
  12. data/lib/moneta/api.rb +81 -75
  13. data/spec/lib/moneta/api/requests/find_bank_accounts_request_spec.rb +29 -0
  14. data/spec/lib/moneta/api/requests/get_profile_info_request_spec.rb +19 -0
  15. data/spec/vcr/moneta_api_requests_findbankaccountsrequest/count_.yml +13745 -0
  16. data/spec/vcr/moneta_api_requests_findbankaccountsrequest/first_account_attribute_account_.yml +13745 -0
  17. data/spec/vcr/moneta_api_requests_findbankaccountsrequest/first_account_attribute_bank_.yml +13745 -0
  18. data/spec/vcr/moneta_api_requests_findbankaccountsrequest/first_account_attribute_bik_.yml +13745 -0
  19. data/spec/vcr/moneta_api_requests_findbankaccountsrequest/first_account_attribute_corr_account_.yml +13745 -0
  20. data/spec/vcr/moneta_api_requests_findbankaccountsrequest/first_account_attribute_is_international_.yml +13745 -0
  21. data/spec/vcr/moneta_api_requests_findbankaccountsrequest/first_account_id_.yml +13745 -0
  22. data/spec/vcr/moneta_api_requests_getprofileinforequest/.yml +13735 -0
  23. data/spec/vcr/moneta_api_requests_getprofileinforequest/_first_name_.yml +13735 -0
  24. data/spec/vcr/moneta_api_requests_getprofileinforequest/_last_name_.yml +13735 -0
  25. data/spec/vcr/moneta_api_requests_getprofileinforequest/_name_.yml +13735 -0
  26. data/spec/vcr/moneta_api_requests_getprofileinforequest/_profiletype_.yml +13735 -0
  27. data/spec/vcr/moneta_api_requests_getprofileinforequest/_timezone_.yml +13735 -0
  28. data/spec/vcr/moneta_api_requests_getprofileinforequest/_unitid_.yml +13735 -0
  29. metadata +40 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6af4476441703fca93af4bf5f1e5d36459150144
4
- data.tar.gz: e94ffe9d99272fcf29ae6df357af4999bad1c2f8
3
+ metadata.gz: ed87fefe013e706b8b712df7434f836787ff53e0
4
+ data.tar.gz: 943705b31f53d4fa4cf01e52c15fa24f5d4c72e1
5
5
  SHA512:
6
- metadata.gz: 537387b573b5f96846b2d1c1439de4620c8efc7a6866eadbaa715eaf666b585037803214001ed57f2b57135d15829ff78ad13d73d9c814d44ea5b31c5706a2f6
7
- data.tar.gz: 700216e219143634cc3a67d078731c08bef9af092725cf4a803971d351e244d1291dffda5e7ce9e07da4ddd094009ed4f9ed9ae89b49cc383db80a7b3c96369c
6
+ metadata.gz: 37c9f4a0c2882d0c4e4b7c7f07a2eca49a908acdedf6300f82b706b85f44d4050cfbd19ad3bc0434d006ce3596f30e411d734f36dd1a4dcc621f57d8596300a6
7
+ data.tar.gz: 9083e6b6e54a2fc37acc9ee5360cb0414194d442ffc8136669295d19a92360897cdee38f87b63ec3e3298d28bafcec5f21d704fb381d31a567a1aa42d0e76790
@@ -3,51 +3,9 @@ module Moneta
3
3
  module DataMapper
4
4
  def self.included(base)
5
5
  base.extend ClassMethods
6
-
7
- base.class_eval do
8
- def fill(data)
9
- properties.each do |property, type|
10
- value = data[ property ]
11
- if value
12
- property_value = type.nil? ? value : build_complex_value(type, value)
13
- instance_variable_set("@#{ property }", property_value)
14
- end
15
- end
16
-
17
- self
18
- end
19
-
20
- def to_hash
21
- properties.each_with_object({}) do |(property, _), hash|
22
- value = send(property)
23
- unless value.nil?
24
- hash[ property.to_s.classify_with_lower ] = to_hash_complex_value(value)
25
- end
26
- end
27
- end
28
-
29
- private
30
-
31
- def build_complex_value(type, value)
32
- value.kind_of?(Array) ?
33
- value.map { |v| type.build(v) } :
34
- type.build(value)
35
- end
36
-
37
- def to_hash_complex_value(value)
38
- if value.kind_of?(Array)
39
- value.map(&:to_hash)
40
- elsif value.respond_to?(:to_hash)
41
- value.to_hash
42
- else
43
- value
44
- end
45
- end
46
- end
47
6
  end
48
7
 
49
8
  module ClassMethods
50
-
51
9
  def property(name, type: nil, read_only: false)
52
10
  generate_accessors(name, read_only)
53
11
 
@@ -81,6 +39,45 @@ module Moneta
81
39
  attr_writer(name) unless read_only
82
40
  end
83
41
  end
42
+
43
+ def fill(data)
44
+ properties.each do |property, type|
45
+ value = data[ property ]
46
+ if value
47
+ property_value = type.nil? ? value : build_complex_value(type, value)
48
+ instance_variable_set("@#{ property }", property_value)
49
+ end
50
+ end
51
+
52
+ self
53
+ end
54
+
55
+ def to_hash
56
+ properties.each_with_object({}) do |(property, _), hash|
57
+ value = send(property)
58
+ unless value.nil?
59
+ hash[ property.to_s.classify_with_lower ] = to_hash_complex_value(value)
60
+ end
61
+ end
62
+ end
63
+
64
+ private
65
+
66
+ def build_complex_value(type, value)
67
+ value.kind_of?(Array) ?
68
+ value.map { |v| type.build(v) } :
69
+ type.build(value)
70
+ end
71
+
72
+ def to_hash_complex_value(value)
73
+ if value.kind_of?(Array)
74
+ value.map(&:to_hash)
75
+ elsif value.respond_to?(:to_hash)
76
+ value.to_hash
77
+ else
78
+ value
79
+ end
80
+ end
84
81
  end
85
82
  end
86
83
  end
@@ -1,15 +1,23 @@
1
1
  module Moneta
2
2
  module Api
3
3
  class KeyValueSerializer
4
- def self.serialize(entity)
5
- attributes = entity.properties
4
+ class << self
5
+ def serialize(entity)
6
+ attributes = entity.properties
6
7
 
7
- attributes.collect do |property, _|
8
- value = entity.public_send(property)
9
- key = property.to_s.swapcase
8
+ attributes.collect do |property, _|
9
+ value = entity.public_send(property)
10
+ key = property.to_s.swapcase
10
11
 
11
- { 'key' => key, 'value' => value } unless value.nil?
12
- end.compact
12
+ { 'key' => key, 'value' => value } unless value.nil?
13
+ end.compact
14
+ end
15
+
16
+ def deserialize(attributes)
17
+ attributes.each_with_object({}) do |attribute, hash|
18
+ hash[attribute[:key].to_sym] = attribute.tap { |a| a.delete(:key) }
19
+ end
20
+ end
13
21
  end
14
22
  end
15
23
  end
@@ -0,0 +1,16 @@
1
+ module Moneta
2
+ module Api
3
+ module Requests
4
+
5
+ # Запрос на получение банковских реквизитов по ID пользователя. Если данные не найдены, возвращается пустой список.
6
+ # Request for bank account details by a user ID. MONETA.RU returns an empty list if it cannot find bank account details.
7
+ class FindBankAccountsRequest
8
+ include Moneta::Api::DataMapper
9
+
10
+ # @return [Integer] ID пользователя в системе МОНЕТА.РУ. Если это поле не задано, то используется текущий пользователь.
11
+ # User ID. If you omit this element, MONETA.RU uses the ID of the user who sends the request.
12
+ property :unit_id
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ module Moneta
2
+ module Api
3
+ module Requests
4
+ # Запрос на получение данных пользователя по ID пользователя.
5
+ # Если данные не найдены, возникает Exception.
6
+ # Request for profile information by a MONETA.RU user ID.
7
+ # If MONETA.RU finds no information about the specified user, an error occurs.
8
+ class GetProfileInfoRequest
9
+ include Moneta::Api::DataMapper
10
+
11
+ # @return [Integer] ID пользователя в системе МОНЕТА.РУ.
12
+ # Если это поле не задано, то используется текущий пользователь.
13
+ # MONETA.RU user ID.
14
+ # If you omit this element, MONETA.RU uses the ID of the user who sends this request.
15
+ property :unit_id
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ module Moneta
2
+ module Api
3
+ module Responses
4
+ class BankAccountInfo < KeyValueResponse
5
+
6
+ # @return [Integer] ID счета.
7
+ # Bank account ID.
8
+ property :id
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,17 @@
1
+ module Moneta
2
+ module Api
3
+ module Responses
4
+ class FindBankAccountsResponse
5
+ include Moneta::Api::DataMapper
6
+
7
+ # Ответ, который содержит список банковских счетов.
8
+ # Bank Accounts searching response containing the list of bank accounts.
9
+ property :bank_account, type: BankAccountInfo
10
+
11
+ def get_account(number)
12
+ bank_account.detect { |account| account.id == number.to_s }
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ module Moneta
2
+ module Api
3
+ module Responses
4
+ class GetProfileInfoResponse < KeyValueResponse; end
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,17 @@
1
+ module Moneta
2
+ module Api
3
+ module Responses
4
+ class KeyValueResponse
5
+ include Moneta::Api::DataMapper
6
+
7
+ property :attribute, read_only: true
8
+
9
+ def fill(attributes)
10
+ @attribute = KeyValueSerializer.deserialize(attributes.delete(:attribute))
11
+ super
12
+ self
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -163,6 +163,18 @@ module Moneta
163
163
  call(__method__, request)
164
164
  end
165
165
 
166
+ # @param [Moneta::Api::Requests::GetProfileInfoRequest]
167
+ # @return [Moneta::Api::Responses::GetProfileInfoResponse]
168
+ def get_profile_info(request)
169
+ call(__method__, request)
170
+ end
171
+
172
+ # @param [Moneta::Api::Requests::FindBankAccountsRequest]
173
+ # @return [Moneta::Api::Responses::FindBankAccountsResponse]
174
+ def find_bank_accounts(request)
175
+ call(__method__, request)
176
+ end
177
+
166
178
  private
167
179
 
168
180
  def call(method, request)
@@ -1,5 +1,5 @@
1
1
  module Moneta
2
2
  module Api
3
- VERSION = '1.1.0'
3
+ VERSION = '1.2.0'
4
4
  end
5
5
  end
data/lib/moneta/api.rb CHANGED
@@ -7,93 +7,99 @@ require 'moneta/api/service'
7
7
  require 'moneta/api/data_mapper'
8
8
  require 'moneta/api/key_value_serializer'
9
9
 
10
- require 'moneta/api/types/account_access_info.rb'
11
- require 'moneta/api/types/account_info.rb'
12
- require 'moneta/api/types/authorise_transaction_batch_request_type.rb'
13
- require 'moneta/api/types/authorise_transaction_request_type.rb'
14
- require 'moneta/api/types/cancel_transaction_batch_request_type.rb'
15
- require 'moneta/api/types/cancel_transaction_batch_response_type.rb'
16
- require 'moneta/api/types/cancel_transaction_request_type.rb'
17
- require 'moneta/api/types/cancel_transaction_response_type.rb'
18
- require 'moneta/api/types/confirm_transaction_batch_request_type.rb'
19
- require 'moneta/api/types/confirm_transaction_request_type.rb'
20
- require 'moneta/api/types/entity.rb'
21
- require 'moneta/api/types/hash_entity.rb'
22
- require 'moneta/api/types/key_value_entity.rb'
23
- require 'moneta/api/types/find_operations_list_request_filter.rb'
24
- require 'moneta/api/types/forecast_transaction_response_type.rb'
25
- require 'moneta/api/types/invoice_batch_request_type.rb'
26
- require 'moneta/api/types/invoice_request_type.rb'
27
- require 'moneta/api/types/key_value_attribute.rb'
28
- require 'moneta/api/types/operation_info.rb'
29
- require 'moneta/api/types/operation_info_batch_response_type.rb'
30
- require 'moneta/api/types/operation_info_list.rb'
31
- require 'moneta/api/types/pager.rb'
32
- require 'moneta/api/types/payment_request_type.rb'
33
- require 'moneta/api/types/transaction_batch_response_type.rb'
34
- require 'moneta/api/types/transaction_request_type.rb'
35
- require 'moneta/api/types/transaction_response_type.rb'
36
- require 'moneta/api/types/verify_transaction_response_type.rb'
37
- require 'moneta/api/types/verify_transfer_response_type.rb'
10
+ require 'moneta/api/types/account_access_info'
11
+ require 'moneta/api/types/account_info'
12
+ require 'moneta/api/types/authorise_transaction_batch_request_type'
13
+ require 'moneta/api/types/authorise_transaction_request_type'
14
+ require 'moneta/api/types/cancel_transaction_batch_request_type'
15
+ require 'moneta/api/types/cancel_transaction_batch_response_type'
16
+ require 'moneta/api/types/cancel_transaction_request_type'
17
+ require 'moneta/api/types/cancel_transaction_response_type'
18
+ require 'moneta/api/types/confirm_transaction_batch_request_type'
19
+ require 'moneta/api/types/confirm_transaction_request_type'
20
+ require 'moneta/api/types/entity'
21
+ require 'moneta/api/types/hash_entity'
22
+ require 'moneta/api/types/key_value_entity'
23
+ require 'moneta/api/types/find_operations_list_request_filter'
24
+ require 'moneta/api/types/forecast_transaction_response_type'
25
+ require 'moneta/api/types/invoice_batch_request_type'
26
+ require 'moneta/api/types/invoice_request_type'
27
+ require 'moneta/api/types/key_value_attribute'
28
+ require 'moneta/api/types/operation_info'
29
+ require 'moneta/api/types/operation_info_batch_response_type'
30
+ require 'moneta/api/types/operation_info_list'
31
+ require 'moneta/api/types/pager'
32
+ require 'moneta/api/types/payment_request_type'
33
+ require 'moneta/api/types/transaction_batch_response_type'
34
+ require 'moneta/api/types/transaction_request_type'
35
+ require 'moneta/api/types/transaction_response_type'
36
+ require 'moneta/api/types/verify_transaction_response_type'
37
+ require 'moneta/api/types/verify_transfer_response_type'
38
38
  require 'moneta/api/types/bank_account_type'
39
39
  require 'moneta/api/types/profile/client'
40
40
  require 'moneta/api/types/profile/organization'
41
41
 
42
- require 'moneta/api/requests/authorise_transaction_batch_request.rb'
43
- require 'moneta/api/requests/authorise_transaction_request.rb'
44
- require 'moneta/api/requests/cancel_transaction_batch_request.rb'
45
- require 'moneta/api/requests/cancel_transaction_request.rb'
46
- require 'moneta/api/requests/confirm_transaction_batch_request.rb'
47
- require 'moneta/api/requests/confirm_transaction_request.rb'
48
- require 'moneta/api/requests/create_account_request.rb'
49
- require 'moneta/api/requests/find_accounts_list_request.rb'
50
- require 'moneta/api/requests/find_last_operations_list_request.rb'
51
- require 'moneta/api/requests/find_operations_list_request.rb'
52
- require 'moneta/api/requests/forecast_transaction_request.rb'
53
- require 'moneta/api/requests/get_account_payment_password_challenge_request.rb'
54
- require 'moneta/api/requests/invoice_batch_request.rb'
55
- require 'moneta/api/requests/invoice_request.rb'
56
- require 'moneta/api/requests/payment_request.rb'
57
- require 'moneta/api/requests/refund_request.rb'
58
- require 'moneta/api/requests/transfer_request.rb'
59
- require 'moneta/api/requests/verify_payment_request.rb'
60
- require 'moneta/api/requests/verify_transaction_request.rb'
61
- require 'moneta/api/requests/verify_transfer_request.rb'
42
+ require 'moneta/api/requests/authorise_transaction_batch_request'
43
+ require 'moneta/api/requests/authorise_transaction_request'
44
+ require 'moneta/api/requests/cancel_transaction_batch_request'
45
+ require 'moneta/api/requests/cancel_transaction_request'
46
+ require 'moneta/api/requests/confirm_transaction_batch_request'
47
+ require 'moneta/api/requests/confirm_transaction_request'
48
+ require 'moneta/api/requests/create_account_request'
49
+ require 'moneta/api/requests/find_accounts_list_request'
50
+ require 'moneta/api/requests/find_last_operations_list_request'
51
+ require 'moneta/api/requests/find_operations_list_request'
52
+ require 'moneta/api/requests/forecast_transaction_request'
53
+ require 'moneta/api/requests/get_account_payment_password_challenge_request'
54
+ require 'moneta/api/requests/invoice_batch_request'
55
+ require 'moneta/api/requests/invoice_request'
56
+ require 'moneta/api/requests/payment_request'
57
+ require 'moneta/api/requests/refund_request'
58
+ require 'moneta/api/requests/transfer_request'
59
+ require 'moneta/api/requests/verify_payment_request'
60
+ require 'moneta/api/requests/verify_transaction_request'
61
+ require 'moneta/api/requests/verify_transfer_request'
62
62
  require 'moneta/api/requests/create_profile_request'
63
63
  require 'moneta/api/requests/edit_profile_request'
64
64
  require 'moneta/api/requests/create_bank_account_request'
65
65
  require 'moneta/api/requests/edit_bank_account_request'
66
+ require 'moneta/api/requests/get_profile_info_request'
67
+ require 'moneta/api/requests/find_bank_accounts_request'
66
68
  require 'moneta/api/requests/profile/create_client_profile_request'
67
69
  require 'moneta/api/requests/profile/edit_client_profile_request'
68
70
  require 'moneta/api/requests/profile/create_organization_profile_request'
69
71
  require 'moneta/api/requests/profile/edit_organization_profile_request'
70
72
 
71
- require 'moneta/api/responses/authorise_transaction_batch_response.rb'
72
- require 'moneta/api/responses/authorise_transaction_response.rb'
73
- require 'moneta/api/responses/cancel_transaction_batch_response.rb'
74
- require 'moneta/api/responses/cancel_transaction_response.rb'
75
- require 'moneta/api/responses/confirm_transaction_batch_response.rb'
76
- require 'moneta/api/responses/confirm_transaction_response.rb'
77
- require 'moneta/api/responses/create_account_response.rb'
78
- require 'moneta/api/responses/find_account_by_alias_response.rb'
79
- require 'moneta/api/responses/find_account_by_id_response.rb'
80
- require 'moneta/api/responses/find_accounts_list_response.rb'
81
- require 'moneta/api/responses/find_last_operations_list_response.rb'
82
- require 'moneta/api/responses/find_operations_list_response.rb'
83
- require 'moneta/api/responses/forecast_transaction_response.rb'
84
- require 'moneta/api/responses/get_account_payment_password_challenge_response.rb'
85
- require 'moneta/api/responses/get_operation_details_by_id_response.rb'
86
- require 'moneta/api/responses/invoice_batch_response.rb'
87
- require 'moneta/api/responses/invoice_response.rb'
88
- require 'moneta/api/responses/payment_response.rb'
89
- require 'moneta/api/responses/refund_response.rb'
90
- require 'moneta/api/responses/transfer_response.rb'
91
- require 'moneta/api/responses/verify_payment_response.rb'
92
- require 'moneta/api/responses/verify_transaction_response.rb'
93
- require 'moneta/api/responses/verify_transfer_response.rb'
94
- require 'moneta/api/responses/create_profile_response.rb'
95
- require 'moneta/api/responses/edit_profile_response.rb'
96
- require 'moneta/api/responses/create_bank_account_response.rb'
97
- require 'moneta/api/responses/edit_bank_account_response.rb'
73
+ require 'moneta/api/responses/key_value_response'
74
+ require 'moneta/api/responses/bank_account_info'
75
+ require 'moneta/api/responses/authorise_transaction_batch_response'
76
+ require 'moneta/api/responses/authorise_transaction_response'
77
+ require 'moneta/api/responses/cancel_transaction_batch_response'
78
+ require 'moneta/api/responses/cancel_transaction_response'
79
+ require 'moneta/api/responses/confirm_transaction_batch_response'
80
+ require 'moneta/api/responses/confirm_transaction_response'
81
+ require 'moneta/api/responses/create_account_response'
82
+ require 'moneta/api/responses/find_account_by_alias_response'
83
+ require 'moneta/api/responses/find_account_by_id_response'
84
+ require 'moneta/api/responses/find_accounts_list_response'
85
+ require 'moneta/api/responses/find_last_operations_list_response'
86
+ require 'moneta/api/responses/find_operations_list_response'
87
+ require 'moneta/api/responses/forecast_transaction_response'
88
+ require 'moneta/api/responses/get_account_payment_password_challenge_response'
89
+ require 'moneta/api/responses/get_operation_details_by_id_response'
90
+ require 'moneta/api/responses/invoice_batch_response'
91
+ require 'moneta/api/responses/invoice_response'
92
+ require 'moneta/api/responses/payment_response'
93
+ require 'moneta/api/responses/refund_response'
94
+ require 'moneta/api/responses/transfer_response'
95
+ require 'moneta/api/responses/verify_payment_response'
96
+ require 'moneta/api/responses/verify_transaction_response'
97
+ require 'moneta/api/responses/verify_transfer_response'
98
+ require 'moneta/api/responses/create_profile_response'
99
+ require 'moneta/api/responses/edit_profile_response'
100
+ require 'moneta/api/responses/create_bank_account_response'
101
+ require 'moneta/api/responses/edit_bank_account_response'
102
+ require 'moneta/api/responses/get_profile_info_response'
103
+ require 'moneta/api/responses/find_bank_accounts_response'
98
104
 
99
105
  require 'moneta/api/response_factory'
@@ -0,0 +1,29 @@
1
+ describe Moneta::Api::Requests::FindBankAccountsRequest, vcr: true do
2
+ include_context 'moneta'
3
+
4
+ let(:request) { described_class.new }
5
+ let(:response) { service.find_bank_accounts(request) }
6
+
7
+ before { request.fill({}) }
8
+
9
+ subject { response.bank_account }
10
+
11
+ its(:count) { is_expected.to eq 2 }
12
+
13
+ describe 'first account' do
14
+ let(:bank_account) { response.get_account(1182) }
15
+ subject { bank_account }
16
+
17
+ its(:id) { is_expected.to eq '1182' }
18
+
19
+ describe '.attribute' do
20
+ subject { bank_account.attribute }
21
+
22
+ its([:bank]) { is_expected.to eq(value: 'ФИЛИАЛ "БАЙКОНУР" ОАО "СОБИНБАНК"', approved: false) }
23
+ its([:account]) { is_expected.to eq(value: '30301810000006000001', approved: false) }
24
+ its([:bik]) { is_expected.to eq(value: '044525225', approved: false) }
25
+ its([:corr_account]) { is_expected.to eq(value: '30101810400000000225', approved: false) }
26
+ its([:is_international]) { is_expected.to eq(value: false, approved: false) }
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,19 @@
1
+ describe Moneta::Api::Requests::GetProfileInfoRequest, vcr: true do
2
+ include_context 'moneta'
3
+
4
+ let(:unit_id) { 42868 }
5
+ let(:request) { described_class.new }
6
+ let(:response) { service.get_profile_info(request) }
7
+ let(:params) { { unit_id: unit_id } }
8
+
9
+ before { request.fill(params) }
10
+
11
+ subject { response.attribute }
12
+
13
+ its([:last_name]) { is_expected.to eq(value: 'Мономах', approved: false) }
14
+ its([:first_name]) { is_expected.to eq(value: 'Владимир', approved: false) }
15
+ its([:timezone]) { is_expected.to eq(value: 'Europe/Moscow', approved: false) }
16
+ its([:profileType]) { is_expected.to eq(value: 'client', approved: false) }
17
+ its([:name]) { is_expected.to eq(value: 'Мономах Владимир', approved: false) }
18
+ its([:unitid]) { is_expected.to eq(value: '42868', approved: false) }
19
+ end