rconomic 0.5.2 → 0.6.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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +40 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +14 -3
  5. data/CHANGELOG.md +28 -0
  6. data/Gemfile +5 -4
  7. data/Guardfile +9 -4
  8. data/README.md +23 -4
  9. data/Rakefile +5 -5
  10. data/gemfiles/Gemfile.ruby-2.0 +14 -0
  11. data/lib/economic/account.rb +3 -3
  12. data/lib/economic/cash_book.rb +4 -7
  13. data/lib/economic/cash_book_entry.rb +4 -24
  14. data/lib/economic/company.rb +61 -0
  15. data/lib/economic/creditor.rb +4 -5
  16. data/lib/economic/creditor_contact.rb +5 -6
  17. data/lib/economic/creditor_entry.rb +1 -3
  18. data/lib/economic/current_invoice.rb +14 -21
  19. data/lib/economic/current_invoice_line.rb +4 -13
  20. data/lib/economic/debtor.rb +10 -11
  21. data/lib/economic/debtor_contact.rb +7 -8
  22. data/lib/economic/debtor_entry.rb +1 -3
  23. data/lib/economic/endpoint.rb +36 -6
  24. data/lib/economic/entity/handle.rb +54 -29
  25. data/lib/economic/entity/mapper.rb +1 -1
  26. data/lib/economic/entity.rb +26 -29
  27. data/lib/economic/entry.rb +1 -2
  28. data/lib/economic/invoice.rb +15 -8
  29. data/lib/economic/order.rb +2 -4
  30. data/lib/economic/product.rb +73 -0
  31. data/lib/economic/proxies/account_proxy.rb +2 -4
  32. data/lib/economic/proxies/actions/debtor_contact/all.rb +63 -0
  33. data/lib/economic/proxies/actions/find_by_ci_number.rb +1 -3
  34. data/lib/economic/proxies/actions/find_by_date_interval.rb +3 -6
  35. data/lib/economic/proxies/actions/find_by_handle_with_number.rb +1 -1
  36. data/lib/economic/proxies/actions/find_by_name.rb +1 -1
  37. data/lib/economic/proxies/actions/find_by_number.rb +2 -4
  38. data/lib/economic/proxies/actions/find_by_telephone_and_fax_number.rb +1 -3
  39. data/lib/economic/proxies/cash_book_entry_proxy.rb +19 -22
  40. data/lib/economic/proxies/cash_book_proxy.rb +5 -10
  41. data/lib/economic/proxies/company_proxy.rb +9 -0
  42. data/lib/economic/proxies/creditor_contact_proxy.rb +2 -2
  43. data/lib/economic/proxies/creditor_entry_proxy.rb +8 -14
  44. data/lib/economic/proxies/creditor_proxy.rb +8 -11
  45. data/lib/economic/proxies/current_invoice_line_proxy.rb +2 -2
  46. data/lib/economic/proxies/current_invoice_proxy.rb +3 -3
  47. data/lib/economic/proxies/debtor_contact_proxy.rb +6 -2
  48. data/lib/economic/proxies/debtor_entry_proxy.rb +6 -10
  49. data/lib/economic/proxies/debtor_proxy.rb +40 -55
  50. data/lib/economic/proxies/entity_proxy.rb +15 -15
  51. data/lib/economic/proxies/entry_proxy.rb +10 -16
  52. data/lib/economic/proxies/invoice_proxy.rb +3 -3
  53. data/lib/economic/proxies/order_proxy.rb +3 -3
  54. data/lib/economic/proxies/product_proxy.rb +11 -0
  55. data/lib/economic/session.rb +48 -21
  56. data/lib/economic/support/string.rb +5 -5
  57. data/lib/rconomic/version.rb +1 -1
  58. data/lib/rconomic.rb +39 -34
  59. data/lib/savon_ext/request.rb +17 -0
  60. data/rconomic.gemspec +8 -7
  61. data/spec/economic/account_spec.rb +3 -3
  62. data/spec/economic/cash_book_entry_spec.rb +26 -3
  63. data/spec/economic/cash_book_spec.rb +7 -7
  64. data/spec/economic/company_spec.rb +20 -0
  65. data/spec/economic/creditor_contact_spec.rb +4 -5
  66. data/spec/economic/creditor_entry_spec.rb +20 -0
  67. data/spec/economic/creditor_spec.rb +3 -3
  68. data/spec/economic/current_invoice_line_spec.rb +3 -3
  69. data/spec/economic/current_invoice_spec.rb +19 -19
  70. data/spec/economic/debtor_contact_spec.rb +4 -5
  71. data/spec/economic/debtor_entry_spec.rb +1 -1
  72. data/spec/economic/debtor_spec.rb +13 -13
  73. data/spec/economic/endpoint_spec.rb +27 -11
  74. data/spec/economic/entity/handle_spec.rb +10 -23
  75. data/spec/economic/entity/mapper_spec.rb +26 -30
  76. data/spec/economic/entity_spec.rb +36 -31
  77. data/spec/economic/entry_spec.rb +1 -1
  78. data/spec/economic/invoice_spec.rb +49 -7
  79. data/spec/economic/order_spec.rb +4 -4
  80. data/spec/economic/product_spec.rb +72 -0
  81. data/spec/economic/proxies/account_proxy_spec.rb +74 -0
  82. data/spec/economic/proxies/actions/debtor_contact/all_spec.rb +26 -0
  83. data/spec/economic/proxies/actions/find_by_name_spec.rb +6 -7
  84. data/spec/economic/proxies/cash_book_entry_proxy_spec.rb +27 -29
  85. data/spec/economic/proxies/cash_book_proxy_spec.rb +14 -22
  86. data/spec/economic/proxies/company_proxy_spec.rb +47 -0
  87. data/spec/economic/proxies/creditor_contact_proxy_spec.rb +11 -5
  88. data/spec/economic/proxies/creditor_entry_proxy_spec.rb +12 -12
  89. data/spec/economic/proxies/creditor_proxy_spec.rb +15 -15
  90. data/spec/economic/proxies/current_invoice_line_proxy_spec.rb +10 -4
  91. data/spec/economic/proxies/current_invoice_proxy_spec.rb +37 -19
  92. data/spec/economic/proxies/debtor_contact_proxy_spec.rb +8 -4
  93. data/spec/economic/proxies/debtor_entry_proxy_spec.rb +21 -11
  94. data/spec/economic/proxies/debtor_proxy_spec.rb +81 -40
  95. data/spec/economic/proxies/entry_proxy_spec.rb +17 -14
  96. data/spec/economic/proxies/invoice_proxy_spec.rb +24 -10
  97. data/spec/economic/proxies/order_proxy_spec.rb +20 -10
  98. data/spec/economic/proxies/product_proxy_spec.rb +86 -0
  99. data/spec/economic/session_spec.rb +74 -35
  100. data/spec/fixtures/account_get_all/multiple.xml +15 -0
  101. data/spec/fixtures/account_get_all/none.xml +8 -0
  102. data/spec/fixtures/account_get_all/single.xml +12 -0
  103. data/spec/fixtures/account_get_data_array/multiple.xml +69 -0
  104. data/spec/fixtures/company_get/success.xml +10 -0
  105. data/spec/fixtures/company_get_data/success.xml +32 -0
  106. data/spec/fixtures/current_invoice_line_create_from_data/success.xml +6 -37
  107. data/spec/fixtures/debtor_create_from_data/success.xml +5 -52
  108. data/spec/fixtures/debtor_get_orders/none.xml +9 -0
  109. data/spec/fixtures/product_create_from_data/success.xml +37 -0
  110. data/spec/fixtures/product_find_by_number/found.xml +10 -0
  111. data/spec/fixtures/product_find_by_number/not_found.xml +6 -0
  112. data/spec/fixtures/product_get_all/multiple.xml +15 -0
  113. data/spec/fixtures/product_get_all/single.xml +12 -0
  114. data/spec/fixtures/product_get_data/success.xml +37 -0
  115. data/spec/fixtures/product_get_data_array/multiple.xml +69 -0
  116. data/spec/spec_helper.rb +6 -9
  117. data/spec/support/factories.rb +14 -14
  118. metadata +54 -9
@@ -1,4 +1,4 @@
1
- require './spec/spec_helper'
1
+ require "./spec/spec_helper"
2
2
 
3
3
  describe Economic::CreditorProxy do
4
4
  let(:session) { make_session }
@@ -12,30 +12,30 @@ describe Economic::CreditorProxy do
12
12
 
13
13
  describe "find" do
14
14
  it "gets creditor data from API" do
15
- mock_request('Creditor_GetData', {'entityHandle' => {'Number' => 42}}, :success)
15
+ mock_request("Creditor_GetData", {"entityHandle" => {"Number" => 42}}, :success)
16
16
  subject.find(42)
17
17
  end
18
18
 
19
19
  it "returns Creditor object" do
20
- stub_request('Creditor_GetData', nil, :success)
20
+ stub_request("Creditor_GetData", nil, :success)
21
21
  expect(subject.find(42)).to be_instance_of(Economic::Creditor)
22
22
  end
23
23
  end
24
24
 
25
25
  describe "find_by_number" do
26
26
  it "can find a creditor" do
27
- mock_request('Creditor_FindByNumber', {'number' => '1'}, :found)
28
- result = subject.find_by_number('1')
27
+ mock_request("Creditor_FindByNumber", {"number" => "1"}, :found)
28
+ result = subject.find_by_number("1")
29
29
  expect(result).to be_instance_of(Economic::Creditor)
30
- expect(result.number).to eq(1)
31
- expect(result.partial).to be_true
32
- expect(result.persisted).to be_true
33
- expect(result.handle).to eq(Economic::Entity::Handle.new({ :number => 1 }))
30
+ expect(result.partial).to be_truthy
31
+ expect(result.persisted).to be_truthy
32
+ expect(result.number).to eq("1")
33
+ expect(result.handle).to eq(Economic::Entity::Handle.new(:number => "1"))
34
34
  end
35
35
 
36
36
  it "returns nil when there is no creditor" do
37
- mock_request('Creditor_FindByNumber', {'number' => '1'}, :not_found)
38
- result = subject.find_by_number('1')
37
+ mock_request("Creditor_FindByNumber", {"number" => "1"}, :not_found)
38
+ result = subject.find_by_number("1")
39
39
  expect(result).to be_nil
40
40
  end
41
41
  end
@@ -60,16 +60,16 @@ describe Economic::CreditorProxy do
60
60
 
61
61
  describe ".all" do
62
62
  it "returns a single creditor" do
63
- stub_request('Creditor_GetAll', nil, :single)
64
- mock_request('Creditor_GetData', {'entityHandle' => {'Number' => 1}}, :success)
63
+ stub_request("Creditor_GetAll", nil, :single)
64
+ mock_request("Creditor_GetData", {"entityHandle" => {"Number" => "1"}}, :success)
65
65
  all = subject.all
66
66
  expect(all.size).to eq(1)
67
67
  expect(all.first).to be_instance_of(Economic::Creditor)
68
68
  end
69
69
 
70
70
  it "returns multiple creditors" do
71
- mock_request('Creditor_GetAll', nil, :multiple)
72
- stub_request('Creditor_GetDataArray', nil, :multiple)
71
+ mock_request("Creditor_GetAll", nil, :multiple)
72
+ stub_request("Creditor_GetDataArray", nil, :multiple)
73
73
  all = subject.all
74
74
  expect(all.size).to eq(2)
75
75
  expect(all.first).to be_instance_of(Economic::Creditor)
@@ -1,4 +1,4 @@
1
- require './spec/spec_helper'
1
+ require "./spec/spec_helper"
2
2
 
3
3
  describe Economic::CurrentInvoiceLineProxy do
4
4
  let(:session) { make_session }
@@ -58,12 +58,16 @@ describe Economic::CurrentInvoiceLineProxy do
58
58
 
59
59
  describe ".find" do
60
60
  it "gets invoice_line data from API" do
61
- mock_request('CurrentInvoiceLine_GetData', {'entityHandle' => {'Number' => 42}}, :success)
61
+ mock_request(
62
+ "CurrentInvoiceLine_GetData",
63
+ {"entityHandle" => {"Number" => 42}},
64
+ :success
65
+ )
62
66
  subject.find(42)
63
67
  end
64
68
 
65
69
  it "returns CurrentInvoiceLine object" do
66
- stub_request('CurrentInvoiceLine_GetData', nil, :success)
70
+ stub_request("CurrentInvoiceLine_GetData", nil, :success)
67
71
  expect(subject.find(42)).to be_instance_of(Economic::CurrentInvoiceLine)
68
72
  end
69
73
  end
@@ -82,7 +86,9 @@ describe Economic::CurrentInvoiceLineProxy do
82
86
  it "can be iterated over" do
83
87
  line = Economic::CurrentInvoiceLine.new
84
88
  subject << line
85
- expect(subject.all? { |l| l.is_a?(Economic::CurrentInvoiceLine) }).to be_true
89
+ expect(subject.all? { |l|
90
+ l.is_a?(Economic::CurrentInvoiceLine)
91
+ }).to be_truthy
86
92
  end
87
93
  end
88
94
  end
@@ -1,7 +1,6 @@
1
- require './spec/spec_helper'
1
+ require "./spec/spec_helper"
2
2
 
3
3
  describe Economic::CurrentInvoiceProxy do
4
-
5
4
  let(:session) { make_session }
6
5
  subject { Economic::CurrentInvoiceProxy.new(session) }
7
6
 
@@ -41,7 +40,9 @@ describe Economic::CurrentInvoiceProxy do
41
40
  expect(invoice.debtor_city).to eq(debtor.city)
42
41
 
43
42
  expect(invoice.debtor_handle).to eq(debtor.handle)
44
- expect(invoice.term_of_payment_handle).to eq(debtor.term_of_payment_handle)
43
+ expect(invoice.term_of_payment_handle).to eq(
44
+ debtor.term_of_payment_handle
45
+ )
45
46
  expect(invoice.layout_handle).to eq(debtor.layout_handle)
46
47
  expect(invoice.currency_handle).to eq(debtor.currency_handle)
47
48
  end
@@ -50,12 +51,16 @@ describe Economic::CurrentInvoiceProxy do
50
51
 
51
52
  describe ".find" do
52
53
  it "gets invoice data from API" do
53
- mock_request('CurrentInvoice_GetData', {'entityHandle' => {'Id' => 42}}, :success)
54
+ mock_request(
55
+ "CurrentInvoice_GetData",
56
+ {"entityHandle" => {"Id" => 42}},
57
+ :success
58
+ )
54
59
  subject.find(42)
55
60
  end
56
61
 
57
62
  it "returns CurrentInvoice object" do
58
- stub_request('CurrentInvoice_GetData', nil, :success)
63
+ stub_request("CurrentInvoice_GetData", nil, :success)
59
64
  expect(subject.find(42)).to be_instance_of(Economic::CurrentInvoice)
60
65
  end
61
66
  end
@@ -65,39 +70,53 @@ describe Economic::CurrentInvoiceProxy do
65
70
  let(:unto) { Time.now }
66
71
 
67
72
  it "should be able to return a single current invoice" do
68
- mock_request('CurrentInvoice_FindByDateInterval', {'first' => from.iso8601, 'last' => unto.iso8601}, :single)
69
- stub_request('CurrentInvoice_GetDataArray', nil, :single)
73
+ mock_request(
74
+ "CurrentInvoice_FindByDateInterval",
75
+ {"first" => from.iso8601, "last" => unto.iso8601},
76
+ :single
77
+ )
78
+ stub_request("CurrentInvoice_GetDataArray", nil, :single)
70
79
  results = subject.find_by_date_interval(from, unto)
71
80
  expect(results.size).to eq(1)
72
81
  expect(results.first).to be_instance_of(Economic::CurrentInvoice)
73
82
  end
74
83
 
75
84
  it "should be able to return multiple invoices" do
76
- mock_request('CurrentInvoice_FindByDateInterval', {'first' => from.iso8601, 'last' => unto.iso8601}, :many)
77
- stub_request('CurrentInvoice_GetDataArray', nil, :multiple)
85
+ mock_request(
86
+ "CurrentInvoice_FindByDateInterval",
87
+ {"first" => from.iso8601, "last" => unto.iso8601},
88
+ :many
89
+ )
90
+ stub_request("CurrentInvoice_GetDataArray", nil, :multiple)
78
91
  results = subject.find_by_date_interval(from, unto)
79
92
  expect(results.size).to eq(2)
80
93
  expect(results.first).to be_instance_of(Economic::CurrentInvoice)
81
94
  end
82
95
 
83
96
  it "should be able to return nothing" do
84
- mock_request('CurrentInvoice_FindByDateInterval', {'first' => from.iso8601, 'last' => unto.iso8601}, :none)
97
+ mock_request(
98
+ "CurrentInvoice_FindByDateInterval",
99
+ {"first" => from.iso8601, "last" => unto.iso8601},
100
+ :none
101
+ )
85
102
  results = subject.find_by_date_interval(from, unto)
86
103
  expect(results.size).to eq(0)
87
104
  end
88
-
89
105
  end
90
-
91
- describe ".all" do
92
106
 
107
+ describe ".all" do
93
108
  it "returns an empty array when there are no current invoices" do
94
- stub_request('CurrentInvoice_GetAll', nil, :none)
109
+ stub_request("CurrentInvoice_GetAll", nil, :none)
95
110
  expect(subject.all.size).to eq(0)
96
111
  end
97
112
 
98
113
  it "finds and adds a single current invoice" do
99
- stub_request('CurrentInvoice_GetAll', nil, :single)
100
- mock_request('CurrentInvoice_GetData', {'entityHandle' => {'Id' => 1}}, :success)
114
+ stub_request("CurrentInvoice_GetAll", nil, :single)
115
+ mock_request(
116
+ "CurrentInvoice_GetData",
117
+ {"entityHandle" => {"Id" => 1}},
118
+ :success
119
+ )
101
120
 
102
121
  current_invoices = subject.all
103
122
  expect(current_invoices).to be_instance_of(Economic::CurrentInvoiceProxy)
@@ -107,14 +126,13 @@ describe Economic::CurrentInvoiceProxy do
107
126
  end
108
127
 
109
128
  it "adds multiple current invoices" do
110
- stub_request('CurrentInvoice_GetAll', nil, :multiple)
111
- stub_request('CurrentInvoice_GetDataArray', nil, :multiple)
129
+ stub_request("CurrentInvoice_GetAll", nil, :multiple)
130
+ stub_request("CurrentInvoice_GetDataArray", nil, :multiple)
112
131
 
113
132
  current_invoices = subject.all
114
133
  expect(current_invoices.size).to eq(2)
115
134
  expect(current_invoices.first).to be_instance_of(Economic::CurrentInvoice)
116
135
  expect(current_invoices.last).to be_instance_of(Economic::CurrentInvoice)
117
136
  end
118
-
119
137
  end
120
138
  end
@@ -1,4 +1,4 @@
1
- require './spec/spec_helper'
1
+ require "./spec/spec_helper"
2
2
 
3
3
  describe Economic::DebtorContactProxy do
4
4
  let(:session) { make_session }
@@ -40,12 +40,16 @@ describe Economic::DebtorContactProxy do
40
40
 
41
41
  describe ".find" do
42
42
  it "gets contact data from API" do
43
- mock_request('DebtorContact_GetData', {'entityHandle' => {'Id' => 42}}, :success)
43
+ mock_request(
44
+ "DebtorContact_GetData",
45
+ {"entityHandle" => {"Id" => 42}},
46
+ :success
47
+ )
44
48
  subject.find(42)
45
49
  end
46
50
 
47
51
  it "returns DebtorContact object" do
48
- stub_request('DebtorContact_GetData', nil, :success)
52
+ stub_request("DebtorContact_GetData", nil, :success)
49
53
  expect(subject.find(42)).to be_instance_of(Economic::DebtorContact)
50
54
  end
51
55
  end
@@ -54,7 +58,7 @@ describe Economic::DebtorContactProxy do
54
58
  it "uses the FindByName command" do
55
59
  expect(Economic::Proxies::Actions::FindByName).to receive(:new).
56
60
  with(subject, "Bob").
57
- and_return(lambda { "Result" })
61
+ and_return(-> { "Result" })
58
62
  expect(subject.find_by_name("Bob")).to eq("Result")
59
63
  end
60
64
  end
@@ -1,4 +1,4 @@
1
- require './spec/spec_helper'
1
+ require "./spec/spec_helper"
2
2
 
3
3
  describe Economic::DebtorEntryProxy do
4
4
  let(:session) { make_session }
@@ -11,24 +11,32 @@ describe Economic::DebtorEntryProxy do
11
11
  end
12
12
 
13
13
  describe "#find_by_invoice_number" do
14
- it 'should be able to find multiple debtor entries' do
15
- mock_request("DebtorEntry_FindByInvoiceNumber", {'from' => '123', 'to' => '456'}, :many)
16
- expect(subject.find_by_invoice_number('123', '456')).to eq([1, 2])
14
+ it "should be able to find multiple debtor entries" do
15
+ mock_request(
16
+ "DebtorEntry_FindByInvoiceNumber",
17
+ {"from" => "123", "to" => "456"},
18
+ :many
19
+ )
20
+ expect(subject.find_by_invoice_number("123", "456")).to eq([1, 2])
17
21
  end
18
22
 
19
- it 'should be able to find debtor entries with one invoice id' do
20
- mock_request("DebtorEntry_FindByInvoiceNumber", {'from' => '123', 'to' => '123'}, :many)
21
- expect(subject.find_by_invoice_number('123')).to eq([1, 2])
23
+ it "should be able to find debtor entries with one invoice id" do
24
+ mock_request(
25
+ "DebtorEntry_FindByInvoiceNumber",
26
+ {"from" => "123", "to" => "123"},
27
+ :many
28
+ )
29
+ expect(subject.find_by_invoice_number("123")).to eq([1, 2])
22
30
  end
23
31
 
24
- it 'should handle a single serial number in the response' do
32
+ it "should handle a single serial number in the response" do
25
33
  stub_request("DebtorEntry_FindByInvoiceNumber", nil, :single)
26
- expect(subject.find_by_invoice_number('123')).to eq([1])
34
+ expect(subject.find_by_invoice_number("123")).to eq([1])
27
35
  end
28
36
  end
29
37
 
30
38
  describe "#match" do
31
- it 'should match two debtor entries by serial numbers' do
39
+ it "should match two debtor entries by serial numbers" do
32
40
  stub_request(
33
41
  "DebtorEntry_MatchEntries",
34
42
  {:entries => {
@@ -45,7 +53,9 @@ describe Economic::DebtorEntryProxy do
45
53
 
46
54
  describe "#entity_class" do
47
55
  it "should return Economic::DebtorEntry" do
48
- expect(Economic::DebtorEntryProxy.entity_class).to eq(Economic::DebtorEntry)
56
+ expect(
57
+ Economic::DebtorEntryProxy.entity_class
58
+ ).to eq(Economic::DebtorEntry)
49
59
  end
50
60
  end
51
61
  end
@@ -1,4 +1,4 @@
1
- require './spec/spec_helper'
1
+ require "./spec/spec_helper"
2
2
 
3
3
  describe Economic::DebtorProxy do
4
4
  let(:session) { make_session }
@@ -12,32 +12,42 @@ describe Economic::DebtorProxy do
12
12
 
13
13
  describe "find" do
14
14
  it "gets debtor data from API" do
15
- mock_request('Debtor_GetData', {'entityHandle' => {'Number' => 42}}, :success)
15
+ mock_request(
16
+ "Debtor_GetData",
17
+ {"entityHandle" => {"Number" => 42}},
18
+ :success
19
+ )
16
20
  subject.find(42)
17
21
  end
18
22
 
19
23
  it "returns Debtor object" do
20
- stub_request('Debtor_GetData', nil, :success)
24
+ stub_request("Debtor_GetData", nil, :success)
21
25
  expect(subject.find(42)).to be_instance_of(Economic::Debtor)
22
26
  end
23
27
  end
24
28
 
25
29
  describe "find_by_ci_number" do
26
30
  it "uses FindByCINumber on API" do
27
- mock_request('Debtor_FindByCINumber', {'ciNumber' => '12345678'}, :many)
28
- subject.find_by_ci_number('12345678')
31
+ mock_request(
32
+ "Debtor_FindByCINumber",
33
+ {"ciNumber" => "12345678"},
34
+ :many
35
+ )
36
+ subject.find_by_ci_number("12345678")
29
37
  end
30
38
 
31
39
  context "when many debtors exist" do
32
40
  before :each do
33
- stub_request('Debtor_FindByCINumber', nil, :many)
41
+ stub_request("Debtor_FindByCINumber", nil, :many)
34
42
  end
35
43
 
36
- let(:results) { subject.find_by_ci_number('12345678') }
44
+ let(:results) { subject.find_by_ci_number("12345678") }
37
45
 
38
46
  it "returns a Debtor object for each result" do
39
47
  expect(results.size).to eq(2)
40
- results.all? { |result| expect(result).to be_instance_of(Economic::Debtor) }
48
+ results.all? { |result|
49
+ expect(result).to be_instance_of(Economic::Debtor)
50
+ }
41
51
  end
42
52
 
43
53
  it "returns partial Debtor objects" do
@@ -52,43 +62,51 @@ describe Economic::DebtorProxy do
52
62
 
53
63
  describe "find_by_number" do
54
64
  it "can find a debtor" do
55
- mock_request('Debtor_FindByNumber', {'number' => '1'}, :found)
56
- result = subject.find_by_number('1')
65
+ mock_request("Debtor_FindByNumber", {"number" => "1"}, :found)
66
+ result = subject.find_by_number("1")
57
67
  expect(result).to be_instance_of(Economic::Debtor)
58
- expect(result.number).to eq(1)
59
- expect(result.partial).to be_true
60
- expect(result.persisted).to be_true
61
- expect(result.handle).to eq(Economic::Entity::Handle.new({:number => 1}))
68
+ expect(result.partial).to be_truthy
69
+ expect(result.persisted).to be_truthy
70
+ expect(result.number).to eq("1")
71
+ expect(result.handle).to eq(Economic::Entity::Handle.new(:number => "1"))
62
72
  end
63
73
 
64
74
  it "returns nil when there is no debtor" do
65
- mock_request('Debtor_FindByNumber', {'number' => '1'}, :not_found)
66
- result = subject.find_by_number('1')
75
+ mock_request("Debtor_FindByNumber", {"number" => "1"}, :not_found)
76
+ result = subject.find_by_number("1")
67
77
  expect(result).to be_nil
68
78
  end
69
79
  end
70
80
 
71
81
  describe "find_by_telephone_and_fax_number" do
72
82
  it "can find a debtor" do
73
- mock_request('Debtor_FindByTelephoneAndFaxNumber', {'telephoneAndFaxNumber' => '22334455'}, :found)
74
- result = subject.find_by_telephone_and_fax_number('22334455')
83
+ mock_request(
84
+ "Debtor_FindByTelephoneAndFaxNumber",
85
+ {"telephoneAndFaxNumber" => "22334455"},
86
+ :found
87
+ )
88
+ result = subject.find_by_telephone_and_fax_number("22334455")
75
89
  expect(result).to be_instance_of(Economic::Debtor)
76
90
  expect(result.number).to eq(1)
77
- expect(result.partial).to be_true
78
- expect(result.persisted).to be_true
91
+ expect(result.partial).to be_truthy
92
+ expect(result.persisted).to be_truthy
79
93
  end
80
94
 
81
95
  it "returns nil when there is no debtor" do
82
- mock_request('Debtor_FindByTelephoneAndFaxNumber', {'telephoneAndFaxNumber' => '22334455'}, :not_found)
83
- result = subject.find_by_telephone_and_fax_number('22334455')
96
+ mock_request(
97
+ "Debtor_FindByTelephoneAndFaxNumber",
98
+ {"telephoneAndFaxNumber" => "22334455"},
99
+ :not_found
100
+ )
101
+ result = subject.find_by_telephone_and_fax_number("22334455")
84
102
  expect(result).to be_nil
85
103
  end
86
104
  end
87
105
 
88
106
  describe "next_available_number" do
89
107
  it "gets the next available debtor number from API" do
90
- mock_request('Debtor_GetNextAvailableNumber', nil, :success)
91
- expect(subject.next_available_number).to eq('105')
108
+ mock_request("Debtor_GetNextAvailableNumber", nil, :success)
109
+ expect(subject.next_available_number).to eq("105")
92
110
  end
93
111
  end
94
112
 
@@ -110,20 +128,24 @@ describe Economic::DebtorProxy do
110
128
  end
111
129
  end
112
130
 
113
- # Complete specs in current_invoice, no point in duplicating them here, just ensuring that
114
- # it handles debtors "Number" id.
131
+ # Complete specs in current_invoice, no point in duplicating them here, just
132
+ # ensuring that it handles debtors "Number" id.
115
133
  describe ".all" do
116
134
  it "returns a single debtor" do
117
- mock_request('Debtor_GetAll', nil, :single)
118
- mock_request('Debtor_GetData', {'entityHandle' => {'Number' => 1}}, :success)
135
+ mock_request("Debtor_GetAll", nil, :single)
136
+ mock_request(
137
+ "Debtor_GetData",
138
+ {"entityHandle" => {"Number" => "1"}},
139
+ :success
140
+ )
119
141
  all = subject.all
120
142
  expect(all.size).to eq(1)
121
143
  expect(all.first).to be_instance_of(Economic::Debtor)
122
144
  end
123
145
 
124
146
  it "returns multiple debtors" do
125
- mock_request('Debtor_GetAll', nil, :multiple)
126
- mock_request('Debtor_GetDataArray', :any, :multiple)
147
+ mock_request("Debtor_GetAll", nil, :multiple)
148
+ mock_request("Debtor_GetDataArray", :any, :multiple)
127
149
  all = subject.all
128
150
  expect(all.size).to eq(2)
129
151
  expect(all.first).to be_instance_of(Economic::Debtor)
@@ -131,14 +153,18 @@ describe Economic::DebtorProxy do
131
153
  end
132
154
 
133
155
  describe ".get_debtor_contacts" do
134
- let(:handle) { Economic::Entity::Handle.new({:number => 1}) }
156
+ let(:handle) { Economic::Entity::Handle.new(:number => 1) }
135
157
  it "gets debtor contact data from API" do
136
- mock_request('Debtor_GetDebtorContacts', {"debtorHandle"=>{"Number"=>1}}, :multiple)
158
+ mock_request(
159
+ "Debtor_GetDebtorContacts",
160
+ {"debtorHandle" => {"Number" => 1}},
161
+ :multiple
162
+ )
137
163
  subject.get_debtor_contacts(handle)
138
164
  end
139
165
 
140
166
  it "returns DebtorContact objects" do
141
- stub_request('Debtor_GetDebtorContacts', nil, :multiple)
167
+ stub_request("Debtor_GetDebtorContacts", nil, :multiple)
142
168
  subject.get_debtor_contacts(handle).each do |d|
143
169
  expect(d).to be_instance_of(Economic::DebtorContact)
144
170
  end
@@ -146,14 +172,18 @@ describe Economic::DebtorProxy do
146
172
  end
147
173
 
148
174
  describe ".get_invoices" do
149
- let(:handle) { Economic::Entity::Handle.new({:number => 1}) }
175
+ let(:handle) { Economic::Entity::Handle.new(:number => 1) }
150
176
  it "gets invoice data from API" do
151
- mock_request('Debtor_GetInvoices', {"debtorHandle"=>{"Number"=>1}}, :success)
177
+ mock_request(
178
+ "Debtor_GetInvoices",
179
+ {"debtorHandle" => {"Number" => 1}},
180
+ :success
181
+ )
152
182
  subject.get_invoices(handle)
153
183
  end
154
184
 
155
185
  it "returns Invoice object" do
156
- stub_request('Debtor_GetInvoices', nil, :success)
186
+ stub_request("Debtor_GetInvoices", nil, :success)
157
187
  subject.get_invoices(handle).each do |i|
158
188
  expect(i).to be_instance_of(Economic::Invoice)
159
189
  end
@@ -161,24 +191,35 @@ describe Economic::DebtorProxy do
161
191
  end
162
192
 
163
193
  describe ".get_order" do
164
- let(:handle) { Economic::Entity::Handle.new({:number => 1}) }
194
+ let(:handle) { Economic::Entity::Handle.new(:number => 1) }
165
195
  it "gets invoice data from API" do
166
- mock_request('Debtor_GetOrders', {"debtorHandle"=>{"Number"=>1}}, :success)
196
+ mock_request(
197
+ "Debtor_GetOrders",
198
+ {"debtorHandle" => {"Number" => 1}},
199
+ :success
200
+ )
167
201
  subject.get_orders(handle)
168
202
  end
169
203
 
170
204
  it "returns Order object" do
171
- stub_request('Debtor_GetOrders', nil, :success)
205
+ stub_request("Debtor_GetOrders", nil, :success)
172
206
  subject.get_orders(handle).each do |i|
173
207
  expect(i).to be_instance_of(Economic::Order)
174
208
  end
175
209
  end
176
210
 
177
211
  it "sets the number" do
178
- stub_request('Debtor_GetOrders', nil, :success)
212
+ stub_request("Debtor_GetOrders", nil, :success)
179
213
  subject.get_orders(handle).each do |i|
180
214
  expect(i.number).to eq(1)
181
215
  end
182
216
  end
217
+
218
+ it "returns nil if no orders are found" do
219
+ stub_request("Debtor_GetOrders", nil, :none)
220
+ expect(
221
+ subject.get_orders(handle)
222
+ ).to be_nil
223
+ end
183
224
  end
184
225
  end
@@ -1,4 +1,4 @@
1
- require './spec/spec_helper'
1
+ require "./spec/spec_helper"
2
2
 
3
3
  describe Economic::EntryProxy do
4
4
  let(:session) { make_session }
@@ -11,60 +11,64 @@ describe Economic::EntryProxy do
11
11
  end
12
12
 
13
13
  describe "#find_by_date_interval" do
14
- it 'should be able to find multiple entries' do
14
+ it "should be able to find multiple entries" do
15
15
  from_date = Date.new
16
16
  to_date = Date.new
17
17
  mock_request(
18
18
  "Entry_FindByDateInterval",
19
- {'fromDate' => from_date, 'toDate' => to_date},
19
+ {"fromDate" => from_date, "toDate" => to_date},
20
20
  :many
21
21
  )
22
22
  expect(subject.find_by_date_interval(from_date, to_date)).to eq([1, 2])
23
23
  end
24
24
 
25
- it 'should handle a single serial number in the response' do
25
+ it "should handle a single serial number in the response" do
26
26
  stub_request("Entry_FindByDateInterval", nil, :single)
27
27
  expect(subject.find_by_date_interval(Date.new, Date.new)).to eq([1])
28
28
  end
29
29
 
30
- it 'should handle an empty response' do
30
+ it "should handle an empty response" do
31
31
  stub_request("Entry_FindByDateInterval", nil, :none)
32
32
  expect(subject.find_by_date_interval(Date.new, Date.new)).to eq([])
33
33
  end
34
34
  end
35
35
 
36
36
  describe "#find_by_serial_number_interval" do
37
- it 'should be able to find multiple entries' do
37
+ it "should be able to find multiple entries" do
38
38
  mock_request(
39
39
  "Entry_FindBySerialNumberInterval",
40
- {'minNumber' => 123, 'maxNumber' => 456},
40
+ {"minNumber" => 123, "maxNumber" => 456},
41
41
  :many
42
42
  )
43
43
  expect(subject.find_by_serial_number_interval(123, 456)).to eq([1, 2])
44
44
  end
45
45
 
46
- it 'should handle a single serial number in the response' do
46
+ it "should handle a single serial number in the response" do
47
47
  stub_request("Entry_FindBySerialNumberInterval", nil, :single)
48
48
  expect(subject.find_by_serial_number_interval(123, 456)).to eq([1])
49
49
  end
50
50
 
51
- it 'should handle an empty response' do
51
+ it "should handle an empty response" do
52
52
  stub_request("Entry_FindBySerialNumberInterval", nil, :none)
53
53
  expect(subject.find_by_serial_number_interval(123, 456)).to eq([])
54
54
  end
55
55
  end
56
56
 
57
57
  describe "#get_last_used_serial_number" do
58
- it 'returns the number' do
58
+ it "returns the number" do
59
59
  mock_request("Entry_GetLastUsedSerialNumber", nil, :success)
60
60
  expect(subject.get_last_used_serial_number).to eq(123)
61
61
  end
62
62
  end
63
63
 
64
64
  describe "#find" do
65
- it 'should get a entry by serial number' do
66
- mock_request("Entry_GetData", {'entityHandle' => { 'SerialNumber' => '123' }}, :success)
67
- expect(subject.find('123')).to be_instance_of(Economic::Entry)
65
+ it "should get a entry by serial number" do
66
+ mock_request(
67
+ "Entry_GetData",
68
+ {"entityHandle" => {"SerialNumber" => "123"}},
69
+ :success
70
+ )
71
+ expect(subject.find("123")).to be_instance_of(Economic::Entry)
68
72
  end
69
73
  end
70
74
 
@@ -74,4 +78,3 @@ describe Economic::EntryProxy do
74
78
  end
75
79
  end
76
80
  end
77
-