business-central 1.0.3 → 1.0.4

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/lib/business_central.rb +35 -2
  3. data/lib/business_central/client.rb +65 -38
  4. data/lib/business_central/exceptions.rb +19 -9
  5. data/lib/business_central/object/account.rb +4 -2
  6. data/lib/business_central/object/aged_account_payable.rb +4 -2
  7. data/lib/business_central/object/aged_account_receivable.rb +4 -2
  8. data/lib/business_central/object/argument_helper.rb +22 -0
  9. data/lib/business_central/object/balance_sheet.rb +4 -2
  10. data/lib/business_central/object/base.rb +90 -56
  11. data/lib/business_central/object/cash_flow_statement.rb +4 -2
  12. data/lib/business_central/object/company.rb +5 -3
  13. data/lib/business_central/object/company_information.rb +7 -5
  14. data/lib/business_central/object/country_region.rb +8 -6
  15. data/lib/business_central/object/currency.rb +8 -6
  16. data/lib/business_central/object/customer.rb +15 -9
  17. data/lib/business_central/object/customer_financial_detail.rb +3 -1
  18. data/lib/business_central/object/customer_payment.rb +8 -6
  19. data/lib/business_central/object/customer_payment_journal.rb +8 -6
  20. data/lib/business_central/object/customer_sale.rb +3 -1
  21. data/lib/business_central/object/default_dimension.rb +17 -20
  22. data/lib/business_central/object/dimension.rb +20 -0
  23. data/lib/business_central/object/dimension_line.rb +37 -0
  24. data/lib/business_central/object/dimension_value.rb +28 -0
  25. data/lib/business_central/object/employee.rb +21 -0
  26. data/lib/business_central/object/filter_query.rb +18 -0
  27. data/lib/business_central/object/item.rb +17 -10
  28. data/lib/business_central/object/item_category.rb +16 -0
  29. data/lib/business_central/object/journal.rb +29 -0
  30. data/lib/business_central/object/journal_line.rb +48 -0
  31. data/lib/business_central/object/{helper.rb → object_helper.rb} +18 -10
  32. data/lib/business_central/object/payment_method.rb +16 -0
  33. data/lib/business_central/object/payment_term.rb +16 -0
  34. data/lib/business_central/object/picture.rb +53 -0
  35. data/lib/business_central/object/purchase_invoice.rb +8 -6
  36. data/lib/business_central/object/purchase_invoice_line.rb +10 -8
  37. data/lib/business_central/object/request.rb +60 -49
  38. data/lib/business_central/object/response.rb +28 -22
  39. data/lib/business_central/object/retained_earning_statement.rb +13 -0
  40. data/lib/business_central/object/sales_credit_memo.rb +20 -0
  41. data/lib/business_central/object/sales_credit_memo_line.rb +30 -0
  42. data/lib/business_central/object/sales_invoice.rb +62 -0
  43. data/lib/business_central/object/sales_invoice_line.rb +30 -0
  44. data/lib/business_central/object/sales_order.rb +20 -0
  45. data/lib/business_central/object/sales_order_line.rb +30 -0
  46. data/lib/business_central/object/sales_quote.rb +20 -0
  47. data/lib/business_central/object/sales_quote_line.rb +30 -0
  48. data/lib/business_central/object/shipment_method.rb +16 -0
  49. data/lib/business_central/object/subscription.rb +16 -0
  50. data/lib/business_central/object/tax_area.rb +16 -0
  51. data/lib/business_central/object/tax_group.rb +16 -0
  52. data/lib/business_central/object/time_registration_entry.rb +16 -0
  53. data/lib/business_central/object/trial_balance.rb +13 -0
  54. data/lib/business_central/object/units_of_measure.rb +16 -0
  55. data/lib/business_central/object/url_builder.rb +59 -0
  56. data/lib/business_central/object/url_helper.rb +32 -0
  57. data/lib/business_central/object/validation.rb +10 -7
  58. data/lib/business_central/object/vendor.rb +10 -7
  59. data/lib/business_central/object/vendor_purchase.rb +13 -0
  60. data/lib/business_central/version.rb +4 -2
  61. data/lib/business_central/web_service.rb +78 -0
  62. data/lib/core_ext/string.rb +18 -12
  63. data/test/business_central/client_test.rb +18 -11
  64. data/test/business_central/object/account_test.rb +6 -5
  65. data/test/business_central/object/aged_account_payable_test.rb +6 -5
  66. data/test/business_central/object/aged_account_receivable_test.rb +6 -5
  67. data/test/business_central/object/balance_sheet_test.rb +6 -5
  68. data/test/business_central/object/base_test.rb +4 -2
  69. data/test/business_central/object/cash_flow_statement_test.rb +6 -5
  70. data/test/business_central/object/company_information_test.rb +9 -10
  71. data/test/business_central/object/company_test.rb +6 -5
  72. data/test/business_central/object/country_region_test.rb +16 -17
  73. data/test/business_central/object/currency_test.rb +17 -18
  74. data/test/business_central/object/customer_financial_detail_test.rb +8 -6
  75. data/test/business_central/object/customer_payment_journal_test.rb +14 -15
  76. data/test/business_central/object/customer_payment_test.rb +15 -16
  77. data/test/business_central/object/customer_sale_test.rb +8 -6
  78. data/test/business_central/object/customer_test.rb +15 -16
  79. data/test/business_central/object/default_dimension_test.rb +15 -16
  80. data/test/business_central/object/dimension_line_test.rb +165 -0
  81. data/test/business_central/object/dimension_test.rb +65 -0
  82. data/test/business_central/object/dimension_value_test.rb +68 -0
  83. data/test/business_central/object/employee_test.rb +141 -0
  84. data/test/business_central/object/filter_query_test.rb +36 -0
  85. data/test/business_central/object/item_category_test.rb +122 -0
  86. data/test/business_central/object/item_test.rb +16 -17
  87. data/test/business_central/object/journal_line_test.rb +152 -0
  88. data/test/business_central/object/journal_test.rb +124 -0
  89. data/test/business_central/object/payment_method_test.rb +134 -0
  90. data/test/business_central/object/payment_term_test.rb +134 -0
  91. data/test/business_central/object/picture_test.rb +74 -0
  92. data/test/business_central/object/purchase_invoice_line_test.rb +15 -15
  93. data/test/business_central/object/purchase_invoice_test.rb +15 -15
  94. data/test/business_central/object/request_test.rb +17 -9
  95. data/test/business_central/object/response_test.rb +9 -7
  96. data/test/business_central/object/retained_earning_statement_test.rb +52 -0
  97. data/test/business_central/object/sales_credit_memo_line_test.rb +134 -0
  98. data/test/business_central/object/sales_credit_memo_test.rb +146 -0
  99. data/test/business_central/object/sales_invoice_line_test.rb +164 -0
  100. data/test/business_central/object/sales_invoice_test.rb +134 -0
  101. data/test/business_central/object/sales_order_line_test.rb +134 -0
  102. data/test/business_central/object/sales_order_test.rb +146 -0
  103. data/test/business_central/object/sales_quote_line_test.rb +134 -0
  104. data/test/business_central/object/sales_quote_test.rb +146 -0
  105. data/test/business_central/object/shipment_method_test.rb +133 -0
  106. data/test/business_central/object/subscription_test.rb +126 -0
  107. data/test/business_central/object/tax_area_test.rb +126 -0
  108. data/test/business_central/object/tax_group_test.rb +126 -0
  109. data/test/business_central/object/time_registration_entry_test.rb +126 -0
  110. data/test/business_central/object/trial_balance_test.rb +82 -0
  111. data/test/business_central/object/units_of_measure_test.rb +126 -0
  112. data/test/business_central/object/validation_test.rb +5 -4
  113. data/test/business_central/object/vendor_purchase_test.rb +82 -0
  114. data/test/business_central/object/vendor_test.rb +16 -16
  115. data/test/business_central/web_service_test.rb +95 -0
  116. data/test/business_central_test.rb +3 -1
  117. data/test/test_helper.rb +12 -6
  118. metadata +132 -33
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BusinessCentral
4
+ module Object
5
+ module URLHelper
6
+ def encode_url_object(object)
7
+ URI.encode(object)
8
+ end
9
+
10
+ def encode_url_params(query)
11
+ CGI.escape(query)
12
+ end
13
+
14
+ def odata_encode(value)
15
+ value = value.dup
16
+ value.gsub!(/'/, "''") if value =~ /'/
17
+ value.to_s
18
+ end
19
+
20
+ private
21
+
22
+ def replace_template_with_value(query, values)
23
+ query = query.dup
24
+ query.scan(/\?/).each_with_index do |_character, index|
25
+ character_position = query =~ /\?/
26
+ query[character_position] = odata_encode(values[index])
27
+ end
28
+ query
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BusinessCentral
2
4
  module Object
3
5
  class Validation
@@ -11,25 +13,26 @@ module BusinessCentral
11
13
  @validation_rules.each do |rules_key, rules_value|
12
14
  rules_value.each do |validation_key, validation_value|
13
15
  if required?(validation_key, validation_value, @object_params[rules_key].to_s)
14
- @errors << { field: rules_key, message: 'is a required field'}
16
+ @errors << { field: rules_key, message: 'is a required field' }
15
17
  end
16
18
 
17
19
  if exceeds_maximum_length?(validation_key, validation_value, @object_params[rules_key].to_s)
18
- @errors << { field: rules_key, message: "has exceeded the maximum length #{validation_value}"}
20
+ @errors << { field: rules_key, message: "has exceeded the maximum length #{validation_value}" }
19
21
  end
20
22
 
21
23
  if not_inclusive_of?(validation_key, validation_value, @object_params[rules_key].to_s)
22
- @errors << { field: rules_key, message: "is not one of #{validation_value.join(', ')}"}
24
+ @errors << { field: rules_key, message: "is not one of #{validation_value.join(', ')}" }
23
25
  end
24
26
 
25
27
  if date_type?(validation_key, validation_value, @object_params[rules_key])
26
- @errors << { field: rules_key, message: 'is not a date'}
28
+ @errors << { field: rules_key, message: 'is not a date' }
27
29
  end
28
30
  end
29
31
  end
30
32
 
31
- raise InvalidObjectException.new(@errors) if @errors.any?
32
- return true
33
+ raise InvalidObjectException, @errors if @errors.any?
34
+
35
+ true
33
36
  end
34
37
 
35
38
  private
@@ -51,4 +54,4 @@ module BusinessCentral
51
54
  end
52
55
  end
53
56
  end
54
- end
57
+ end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BusinessCentral
2
4
  module Object
3
5
  class Vendor < Base
4
- extend BusinessCentral::Object::Helper
6
+ extend BusinessCentral::Object::ObjectHelper
5
7
 
6
- OBJECT = 'vendors'.freeze
8
+ OBJECT = 'vendors'
7
9
 
8
10
  OBJECT_VALIDATION = {
9
11
  number: {
@@ -26,14 +28,15 @@ module BusinessCentral
26
28
  }
27
29
  }.freeze
28
30
 
29
- OBJECT_METHODS = [
30
- :get,
31
- :post,
32
- :patch,
33
- :delete
31
+ OBJECT_METHODS = %i[
32
+ get
33
+ post
34
+ patch
35
+ delete
34
36
  ].freeze
35
37
 
36
38
  navigation :default_dimension
39
+ navigation :picture
37
40
  end
38
41
  end
39
42
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BusinessCentral
4
+ module Object
5
+ class VendorPurchase < Base
6
+ OBJECT = 'vendorPurchases'
7
+
8
+ OBJECT_METHODS = %i[
9
+ get
10
+ ].freeze
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BusinessCentral
2
- VERSION = "1.0.3".freeze
3
- end
4
+ VERSION = '1.0.4'
5
+ end
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BusinessCentral
4
+ class WebService
5
+ DEFAULT_URL = 'https://api.businesscentral.dynamics.com/v2.0/production/ODataV4'
6
+
7
+ attr_reader :url, :object_url
8
+
9
+ def initialize(client:, **options)
10
+ @client = client
11
+ opts = options.dup
12
+ @url = opts.delete(:url) || DEFAULT_URL
13
+ end
14
+
15
+ def object(object_url = '', *values)
16
+ if values.length.zero?
17
+ @object_url = object_url
18
+ return self
19
+ end
20
+
21
+ @object_url = Object::URLBuilder.sanitize(object_url, values)
22
+ self
23
+ end
24
+
25
+ def get(query = '', *values)
26
+ raise InvalidObjectURLException if @object_url.to_s.blank?
27
+
28
+ Object::Request.get(
29
+ @client,
30
+ build_url(
31
+ filter: Object::FilterQuery.sanitize(query, values)
32
+ )
33
+ )
34
+ end
35
+
36
+ def post(params = {})
37
+ raise InvalidObjectURLException if @object_url.to_s.blank?
38
+
39
+ Object::Request.post(
40
+ @client,
41
+ build_url,
42
+ params
43
+ )
44
+ end
45
+
46
+ def patch(params = {})
47
+ raise InvalidObjectURLException if @object_url.to_s.blank?
48
+
49
+ object = get
50
+ Object::Request.patch(
51
+ @client,
52
+ build_url,
53
+ object[:etag],
54
+ params
55
+ )
56
+ end
57
+
58
+ def delete
59
+ raise InvalidObjectURLException if @object_url.to_s.blank?
60
+
61
+ object = get
62
+ Object::Request.delete(
63
+ @client,
64
+ build_url,
65
+ object[:etag]
66
+ )
67
+ end
68
+
69
+ private
70
+
71
+ def build_url(filter: '')
72
+ Object::URLBuilder.new(
73
+ base_url: "#{@url}/#{@object_url}",
74
+ filter: filter
75
+ ).build
76
+ end
77
+ end
78
+ end
@@ -1,25 +1,31 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class String
2
4
  def blank?
3
5
  empty? || /\A[[:space:]]*\z/.match?(self)
4
6
  end
5
7
 
8
+ def present?
9
+ !blank?
10
+ end
11
+
6
12
  # Convert string to CamelCase
7
13
  def to_camel_case(uppercase_first_letter = false)
8
14
  string = self
9
- if uppercase_first_letter
10
- string = string.sub(/^[a-z\d]*/) { |match| match.capitalize }
11
- else
12
- string = string.sub(/^(?:(?=\b|[A-Z_])|\w)/) { |match| match.downcase }
13
- end
14
- string.gsub(/(?:_|(\/))([a-z\d]*)/) { "#{$1}#{$2.capitalize}" }.gsub("/", "::")
15
+ string = if uppercase_first_letter
16
+ string.sub(/^[a-z\d]*/, &:capitalize)
17
+ else
18
+ string.sub(/^(?:(?=\b|[A-Z_])|\w)/, &:downcase)
19
+ end
20
+ string.gsub(%r{(?:_|(/))([a-z\d]*)}) { "#{Regexp.last_match(1)}#{Regexp.last_match(2).capitalize}" }.gsub('/', '::')
15
21
  end
16
22
 
17
23
  # Convert string to snake_case
18
24
  def to_snake_case
19
- self.gsub(/::/, '/').
20
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
21
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
22
- tr("-", "_").
23
- downcase
25
+ gsub(/::/, '/')
26
+ .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
27
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
28
+ .tr('-', '_')
29
+ .downcase
24
30
  end
25
- end
31
+ end
@@ -1,4 +1,6 @@
1
- require "test_helper"
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
2
4
  # rake test TEST=test/business_central/client_test.rb
3
5
 
4
6
  class BusinessCentral::ClientTest < Minitest::Test
@@ -9,8 +11,8 @@ class BusinessCentral::ClientTest < Minitest::Test
9
11
  def test_authorize_client
10
12
  test_redirect_url = 'www.example.com'
11
13
  response = @client.authorize(oauth_authorize_callback: test_redirect_url)
12
- assert_match /oauth2\/authorize?/, response
13
- assert_match /redirect_uri=#{test_redirect_url}/, response
14
+ assert_match(%r{oauth2/authorize?}, response)
15
+ assert_match(/redirect_uri=#{test_redirect_url}/, response)
14
16
  end
15
17
 
16
18
  def test_request_client_token
@@ -32,7 +34,7 @@ class BusinessCentral::ClientTest < Minitest::Test
32
34
  )
33
35
 
34
36
  response = @client.request_token('code123', oauth_token_callback: test_redirect_url)
35
- assert_equal test_access_token,response.token
37
+ assert_equal test_access_token, response.token
36
38
  end
37
39
 
38
40
  def test_authorize_client_from_token
@@ -76,13 +78,13 @@ class BusinessCentral::ClientTest < Minitest::Test
76
78
 
77
79
  def test_authorize_throws_exception
78
80
  stub_request(:get, BusinessCentral::Client::DEFAULT_LOGIN_URL)
79
- .to_return(status: 200, body: "", headers: {})
81
+ .to_return(status: 200, body: '', headers: {})
80
82
 
81
83
  mock = MiniTest::Mock.new
82
- def mock.authorize_url(arguments)
84
+ def mock.authorize_url(_arguments)
83
85
  response = Faraday.get(BusinessCentral::Client::DEFAULT_LOGIN_URL)
84
86
  response = OAuth2::Response.new(response)
85
- raise OAuth2::Error.new(response)
87
+ raise OAuth2::Error, response
86
88
  end
87
89
 
88
90
  OAuth2::Strategy::AuthCode.stub(:new, mock) do
@@ -94,13 +96,13 @@ class BusinessCentral::ClientTest < Minitest::Test
94
96
 
95
97
  def test_request_token_throws_exception
96
98
  stub_request(:get, BusinessCentral::Client::DEFAULT_URL)
97
- .to_return(status: 200, body: "", headers: {})
99
+ .to_return(status: 200, body: '', headers: {})
98
100
 
99
101
  mock = MiniTest::Mock.new
100
- def mock.get_token(code, redirect_uri: '')
102
+ def mock.get_token(*_params)
101
103
  response = Faraday.get(BusinessCentral::Client::DEFAULT_URL)
102
104
  response = OAuth2::Response.new(response)
103
- raise OAuth2::Error.new(response)
105
+ raise OAuth2::Error, response
104
106
  end
105
107
 
106
108
  OAuth2::Strategy::AuthCode.stub(:new, mock) do
@@ -109,4 +111,9 @@ class BusinessCentral::ClientTest < Minitest::Test
109
111
  end
110
112
  end
111
113
  end
112
- end
114
+
115
+ def test_build_web_service_object
116
+ @client.web_service.object('Company/Vendors')
117
+ assert_equal @client.web_service.object_url, 'Company/Vendors'
118
+ end
119
+ end
@@ -1,4 +1,6 @@
1
- require "test_helper"
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
2
4
  # rake test TEST=test/business_central/object/account_test.rb
3
5
 
4
6
  class BusinessCentral::Object::AccountTest < Minitest::Test
@@ -17,7 +19,7 @@ class BusinessCentral::Object::AccountTest < Minitest::Test
17
19
  def test_find_all
18
20
  stub_request(:get, /accounts/)
19
21
  .to_return(
20
- status: 200,
22
+ status: 200,
21
23
  body: {
22
24
  'value': [
23
25
  {
@@ -27,7 +29,6 @@ class BusinessCentral::Object::AccountTest < Minitest::Test
27
29
  }.to_json
28
30
  )
29
31
 
30
-
31
32
  response = @account.find_all
32
33
  assert_equal response.first[:display_name], 'account1'
33
34
  end
@@ -36,7 +37,7 @@ class BusinessCentral::Object::AccountTest < Minitest::Test
36
37
  test_account_id = '123'
37
38
  stub_request(:get, /accounts\(#{test_account_id}\)/)
38
39
  .to_return(
39
- status: 200,
40
+ status: 200,
40
41
  body: {
41
42
  displayName: 'account2'
42
43
  }.to_json
@@ -63,4 +64,4 @@ class BusinessCentral::Object::AccountTest < Minitest::Test
63
64
  @account.destroy('123')
64
65
  end
65
66
  end
66
- end
67
+ end
@@ -1,4 +1,6 @@
1
- require "test_helper"
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
2
4
  # rake test TEST=test/business_central/object/aged_account_payable_test.rb
3
5
 
4
6
  class BusinessCentral::Object::AgedAccountPayableTest < Minitest::Test
@@ -11,7 +13,7 @@ class BusinessCentral::Object::AgedAccountPayableTest < Minitest::Test
11
13
  def test_find_all
12
14
  stub_request(:get, /agedAccountsPayable/)
13
15
  .to_return(
14
- status: 200,
16
+ status: 200,
15
17
  body: {
16
18
  'value': [
17
19
  {
@@ -21,7 +23,6 @@ class BusinessCentral::Object::AgedAccountPayableTest < Minitest::Test
21
23
  }.to_json
22
24
  )
23
25
 
24
-
25
26
  response = @aged_account_payable.find_all
26
27
  assert_equal response.first[:name], 'vendor1'
27
28
  end
@@ -30,7 +31,7 @@ class BusinessCentral::Object::AgedAccountPayableTest < Minitest::Test
30
31
  test_id = '123'
31
32
  stub_request(:get, /agedAccountsPayable\(#{test_id}\)/)
32
33
  .to_return(
33
- status: 200,
34
+ status: 200,
34
35
  body: {
35
36
  name: 'vendor2'
36
37
  }.to_json
@@ -57,4 +58,4 @@ class BusinessCentral::Object::AgedAccountPayableTest < Minitest::Test
57
58
  @aged_account_payable.destroy('123')
58
59
  end
59
60
  end
60
- end
61
+ end
@@ -1,4 +1,6 @@
1
- require "test_helper"
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
2
4
  # rake test TEST=test/business_central/object/aged_account_receivable_test.rb
3
5
 
4
6
  class BusinessCentral::Object::AgedAccountReceivableTest < Minitest::Test
@@ -11,7 +13,7 @@ class BusinessCentral::Object::AgedAccountReceivableTest < Minitest::Test
11
13
  def test_find_all
12
14
  stub_request(:get, /agedAccountsReceivable/)
13
15
  .to_return(
14
- status: 200,
16
+ status: 200,
15
17
  body: {
16
18
  'value': [
17
19
  {
@@ -21,7 +23,6 @@ class BusinessCentral::Object::AgedAccountReceivableTest < Minitest::Test
21
23
  }.to_json
22
24
  )
23
25
 
24
-
25
26
  response = @aged_account_receivable.find_all
26
27
  assert_equal response.first[:name], 'customer1'
27
28
  end
@@ -30,7 +31,7 @@ class BusinessCentral::Object::AgedAccountReceivableTest < Minitest::Test
30
31
  test_id = '123'
31
32
  stub_request(:get, /agedAccountsReceivable\(#{test_id}\)/)
32
33
  .to_return(
33
- status: 200,
34
+ status: 200,
34
35
  body: {
35
36
  name: 'customer2'
36
37
  }.to_json
@@ -57,4 +58,4 @@ class BusinessCentral::Object::AgedAccountReceivableTest < Minitest::Test
57
58
  @aged_account_receivable.destroy('123')
58
59
  end
59
60
  end
60
- end
61
+ end
@@ -1,4 +1,6 @@
1
- require "test_helper"
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
2
4
  # rake test TEST=test/business_central/object/balance_sheet_test.rb
3
5
 
4
6
  class BusinessCentral::Object::BalanceSheetTest < Minitest::Test
@@ -11,7 +13,7 @@ class BusinessCentral::Object::BalanceSheetTest < Minitest::Test
11
13
  def test_find_all
12
14
  stub_request(:get, /balanceSheet/)
13
15
  .to_return(
14
- status: 200,
16
+ status: 200,
15
17
  body: {
16
18
  'value': [
17
19
  {
@@ -21,7 +23,6 @@ class BusinessCentral::Object::BalanceSheetTest < Minitest::Test
21
23
  }.to_json
22
24
  )
23
25
 
24
-
25
26
  response = @balance_sheet.find_all
26
27
  assert_equal response.first[:display], 'balance item 1'
27
28
  end
@@ -30,7 +31,7 @@ class BusinessCentral::Object::BalanceSheetTest < Minitest::Test
30
31
  test_id = '123'
31
32
  stub_request(:get, /balanceSheet\(#{test_id}\)/)
32
33
  .to_return(
33
- status: 200,
34
+ status: 200,
34
35
  body: {
35
36
  display: 'balance item 2'
36
37
  }.to_json
@@ -57,4 +58,4 @@ class BusinessCentral::Object::BalanceSheetTest < Minitest::Test
57
58
  @balance_sheet.destroy('123')
58
59
  end
59
60
  end
60
- end
61
+ end