netsuite 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -1
- data/lib/netsuite.rb +0 -1
- data/lib/netsuite/actions/search.rb +5 -0
- data/lib/netsuite/records/file.rb +3 -8
- data/lib/netsuite/support/country.rb +2 -2
- data/lib/netsuite/version.rb +1 -1
- data/netsuite.gemspec +1 -1
- data/spec/netsuite/actions/add_spec.rb +14 -14
- data/spec/netsuite/actions/delete_spec.rb +2 -2
- data/spec/netsuite/actions/get_spec.rb +3 -3
- data/spec/netsuite/actions/initialize_spec.rb +2 -2
- data/spec/netsuite/actions/search_spec.rb +6 -6
- data/spec/netsuite/actions/update_spec.rb +16 -16
- data/spec/netsuite/actions/upsert_list_spec.rb +4 -4
- data/spec/netsuite/actions/upsert_spec.rb +14 -14
- data/spec/netsuite/configuration_spec.rb +21 -21
- data/spec/netsuite/records/account_spec.rb +16 -16
- data/spec/netsuite/records/accounting_period_spec.rb +16 -16
- data/spec/netsuite/records/assembly_item_spec.rb +2 -2
- data/spec/netsuite/records/bill_address_spec.rb +3 -3
- data/spec/netsuite/records/billing_schedule_milestone_list_spec.rb +4 -4
- data/spec/netsuite/records/billing_schedule_milestone_spec.rb +6 -6
- data/spec/netsuite/records/billing_schedule_recurrence_list_spec.rb +4 -4
- data/spec/netsuite/records/billing_schedule_recurrence_spec.rb +6 -6
- data/spec/netsuite/records/billing_schedule_spec.rb +20 -20
- data/spec/netsuite/records/campaign_spec.rb +7 -7
- data/spec/netsuite/records/classification_spec.rb +10 -10
- data/spec/netsuite/records/credit_memo_apply_list_spec.rb +2 -2
- data/spec/netsuite/records/credit_memo_apply_spec.rb +1 -1
- data/spec/netsuite/records/credit_memo_item_list_spec.rb +2 -2
- data/spec/netsuite/records/credit_memo_item_spec.rb +2 -2
- data/spec/netsuite/records/credit_memo_spec.rb +26 -26
- data/spec/netsuite/records/custom_field_list_spec.rb +10 -10
- data/spec/netsuite/records/custom_list_spec.rb +3 -3
- data/spec/netsuite/records/custom_record_spec.rb +20 -20
- data/spec/netsuite/records/custom_record_type_spec.rb +16 -16
- data/spec/netsuite/records/customer_addressbook_list_spec.rb +2 -2
- data/spec/netsuite/records/customer_addressbook_spec.rb +38 -28
- data/spec/netsuite/records/customer_payment_spec.rb +23 -23
- data/spec/netsuite/records/customer_refund_apply_list_spec.rb +2 -2
- data/spec/netsuite/records/customer_refund_apply_spec.rb +1 -1
- data/spec/netsuite/records/customer_refund_deposit_list_spec.rb +2 -2
- data/spec/netsuite/records/customer_refund_deposit_spec.rb +1 -1
- data/spec/netsuite/records/customer_refund_spec.rb +28 -28
- data/spec/netsuite/records/customer_spec.rb +24 -24
- data/spec/netsuite/records/department_spec.rb +16 -16
- data/spec/netsuite/records/deposit_spec.rb +24 -24
- data/spec/netsuite/records/discount_item_spec.rb +19 -19
- data/spec/netsuite/records/duration_spec.rb +1 -1
- data/spec/netsuite/records/inventory_item_spec.rb +18 -18
- data/spec/netsuite/records/inventory_transfer_spec.rb +5 -5
- data/spec/netsuite/records/invoice_item_list_spec.rb +4 -4
- data/spec/netsuite/records/invoice_item_spec.rb +11 -11
- data/spec/netsuite/records/invoice_spec.rb +32 -32
- data/spec/netsuite/records/item_fulfillment_package_list_spec.rb +2 -2
- data/spec/netsuite/records/job_spec.rb +31 -31
- data/spec/netsuite/records/journal_entry_line_list_spec.rb +2 -2
- data/spec/netsuite/records/journal_entry_line_spec.rb +7 -7
- data/spec/netsuite/records/journal_entry_spec.rb +25 -25
- data/spec/netsuite/records/location_spec.rb +8 -8
- data/spec/netsuite/records/non_inventory_sale_item_spec.rb +20 -20
- data/spec/netsuite/records/payment_method_spec.rb +8 -8
- data/spec/netsuite/records/phone_call_spec.rb +2 -2
- data/spec/netsuite/records/pomo_code_spec.rb +7 -7
- data/spec/netsuite/records/record_ref_spec.rb +12 -12
- data/spec/netsuite/records/rev_rec_template_spec.rb +7 -7
- data/spec/netsuite/records/sales_order_item_list_spec.rb +2 -2
- data/spec/netsuite/records/sales_order_item_spec.rb +2 -2
- data/spec/netsuite/records/sales_order_spec.rb +23 -23
- data/spec/netsuite/records/sales_tax_item_spec.rb +2 -2
- data/spec/netsuite/records/service_sale_item_spec.rb +20 -20
- data/spec/netsuite/records/ship_address_spec.rb +3 -3
- data/spec/netsuite/records/site_category_spec.rb +8 -8
- data/spec/netsuite/records/subsidiary_spec.rb +2 -2
- data/spec/netsuite/records/support_case_spec.rb +25 -25
- data/spec/netsuite/records/tax_type_spec.rb +1 -1
- data/spec/netsuite/records/term_spec.rb +15 -15
- data/spec/netsuite/records/units_type_spec.rb +4 -4
- data/spec/netsuite/records/units_type_uom_list_spec.rb +4 -4
- data/spec/netsuite/records/units_type_uom_spec.rb +1 -1
- data/spec/netsuite/records/work_order_item_list_spec.rb +2 -2
- data/spec/netsuite/records/work_order_item_spec.rb +4 -4
- data/spec/netsuite/records/work_order_spec.rb +13 -13
- data/spec/netsuite/response_spec.rb +4 -4
- data/spec/netsuite/support/fields_spec.rb +6 -6
- data/spec/netsuite/support/record_refs_spec.rb +1 -1
- data/spec/netsuite/support/records_spec.rb +2 -2
- data/spec/netsuite/support/requests_spec.rb +6 -6
- data/spec/netsuite_spec.rb +4 -4
- data/spec/spec_helper.rb +0 -2
- data/spec/support/read_only_field_matcher.rb +1 -1
- data/spec/support/record_ref_matcher.rb +2 -2
- metadata +4 -4
@@ -11,7 +11,7 @@ describe NetSuite::Records::Campaign do
|
|
11
11
|
:offer, :owner, :profit, :promotion_code, :roi, :search_engine, :start_date, :title,
|
12
12
|
:total_revenue, :unique_visitors, :url, :vertical
|
13
13
|
].each do |field|
|
14
|
-
campaign.
|
14
|
+
expect(campaign).to have_field(field)
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -20,10 +20,10 @@ describe NetSuite::Records::Campaign do
|
|
20
20
|
let(:response) { NetSuite::Response.new(:success => true, :body => { :message => 'Message 1' }) }
|
21
21
|
|
22
22
|
it 'returns a Campaign instance populated with the data from the response object' do
|
23
|
-
NetSuite::Actions::Get.
|
23
|
+
expect(NetSuite::Actions::Get).to receive(:call).with([NetSuite::Records::Campaign, {:external_id => 1}], {}).and_return(response)
|
24
24
|
campaign = NetSuite::Records::Campaign.get(:external_id => 1)
|
25
|
-
campaign.
|
26
|
-
campaign.message.
|
25
|
+
expect(campaign).to be_kind_of(NetSuite::Records::Campaign)
|
26
|
+
expect(campaign.message).to eql('Message 1')
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -31,10 +31,10 @@ describe NetSuite::Records::Campaign do
|
|
31
31
|
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
32
32
|
|
33
33
|
it 'raises a RecordNotFound exception' do
|
34
|
-
NetSuite::Actions::Get.
|
35
|
-
|
34
|
+
expect(NetSuite::Actions::Get).to receive(:call).with([NetSuite::Records::Campaign, {:external_id => 1}], {}).and_return(response)
|
35
|
+
expect {
|
36
36
|
NetSuite::Records::Campaign.get(:external_id => 1)
|
37
|
-
}.
|
37
|
+
}.to raise_error(NetSuite::RecordNotFound,
|
38
38
|
/NetSuite::Records::Campaign with OPTIONS=(.*) could not be found/)
|
39
39
|
end
|
40
40
|
end
|
@@ -7,7 +7,7 @@ describe NetSuite::Records::Classification do
|
|
7
7
|
[
|
8
8
|
:name, :include_children, :is_inactive, :class_translation_list, :subsidiary_list, :custom_field_list
|
9
9
|
].each do |field|
|
10
|
-
classification.
|
10
|
+
expect(classification).to have_field(field)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
@@ -16,9 +16,9 @@ describe NetSuite::Records::Classification do
|
|
16
16
|
let(:response) { NetSuite::Response.new(:success => true, :body => { :name => 'Retail' }) }
|
17
17
|
|
18
18
|
it 'returns an Invoice instance populated with the data from the response object' do
|
19
|
-
NetSuite::Actions::Get.
|
19
|
+
expect(NetSuite::Actions::Get).to receive(:call).with([NetSuite::Records::Classification, {:external_id => 10}], {}).and_return(response)
|
20
20
|
invoice = NetSuite::Records::Classification.get(:external_id => 10)
|
21
|
-
invoice.
|
21
|
+
expect(invoice).to be_kind_of(NetSuite::Records::Classification)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -26,10 +26,10 @@ describe NetSuite::Records::Classification do
|
|
26
26
|
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
27
27
|
|
28
28
|
it 'raises a RecordNotFound exception' do
|
29
|
-
NetSuite::Actions::Get.
|
30
|
-
|
29
|
+
expect(NetSuite::Actions::Get).to receive(:call).with([NetSuite::Records::Classification, {:external_id => 10}], {}).and_return(response)
|
30
|
+
expect {
|
31
31
|
NetSuite::Records::Classification.get(:external_id => 10)
|
32
|
-
}.
|
32
|
+
}.to raise_error(NetSuite::RecordNotFound,
|
33
33
|
/NetSuite::Records::Classification with OPTIONS=(.*) could not be found/)
|
34
34
|
end
|
35
35
|
end
|
@@ -43,10 +43,10 @@ describe NetSuite::Records::Classification do
|
|
43
43
|
|
44
44
|
it 'returns true' do
|
45
45
|
classification = NetSuite::Records::Classification.new(test_data)
|
46
|
-
NetSuite::Actions::Delete.
|
46
|
+
expect(NetSuite::Actions::Delete).to receive(:call).
|
47
47
|
with([classification], {}).
|
48
48
|
and_return(response)
|
49
|
-
classification.delete.
|
49
|
+
expect(classification.delete).to be_truthy
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
@@ -55,10 +55,10 @@ describe NetSuite::Records::Classification do
|
|
55
55
|
|
56
56
|
it 'returns false' do
|
57
57
|
classification = NetSuite::Records::Classification.new(test_data)
|
58
|
-
NetSuite::Actions::Delete.
|
58
|
+
expect(NetSuite::Actions::Delete).to receive(:call).
|
59
59
|
with([classification], {}).
|
60
60
|
and_return(response)
|
61
|
-
classification.delete.
|
61
|
+
expect(classification.delete).to be_falsey
|
62
62
|
end
|
63
63
|
end
|
64
64
|
end
|
@@ -4,7 +4,7 @@ describe NetSuite::Records::CreditMemoApplyList do
|
|
4
4
|
let(:list) { NetSuite::Records::CreditMemoApplyList.new }
|
5
5
|
|
6
6
|
it 'has a applies attribute' do
|
7
|
-
list.applies.
|
7
|
+
expect(list.applies).to be_kind_of(Array)
|
8
8
|
end
|
9
9
|
|
10
10
|
describe '#to_record' do
|
@@ -22,7 +22,7 @@ describe NetSuite::Records::CreditMemoApplyList do
|
|
22
22
|
}
|
23
23
|
}
|
24
24
|
]
|
25
|
-
list.to_record.
|
25
|
+
expect(list.to_record).to eql(record)
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -4,7 +4,7 @@ describe NetSuite::Records::CreditMemoItemList do
|
|
4
4
|
let(:list) { NetSuite::Records::CreditMemoItemList.new }
|
5
5
|
|
6
6
|
it 'has a items attribute' do
|
7
|
-
list.items.
|
7
|
+
expect(list.items).to be_kind_of(Array)
|
8
8
|
end
|
9
9
|
|
10
10
|
describe '#to_record' do
|
@@ -22,7 +22,7 @@ describe NetSuite::Records::CreditMemoItemList do
|
|
22
22
|
}
|
23
23
|
}
|
24
24
|
]
|
25
|
-
list.to_record.
|
25
|
+
expect(list.to_record).to eql(record)
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -11,7 +11,7 @@ describe NetSuite::Records::CreditMemoItem do
|
|
11
11
|
:tax1_amt, :tax_rate1, :tax_rate2, :vsoe_allocation, :vsoe_amount, :vsoe_deferral, :vsoe_delivered, :vsoe_permit_discount,
|
12
12
|
:vsoe_price
|
13
13
|
].each do |field|
|
14
|
-
item.
|
14
|
+
expect(item).to have_field(field)
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -19,7 +19,7 @@ describe NetSuite::Records::CreditMemoItem do
|
|
19
19
|
[
|
20
20
|
:department, :item, :job, :klass, :location, :price, :rev_rec_schedule, :tax_code, :units
|
21
21
|
].each do |record_ref|
|
22
|
-
item.
|
22
|
+
expect(item).to have_record_ref(record_ref)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
@@ -16,7 +16,7 @@ describe NetSuite::Records::CreditMemo do
|
|
16
16
|
:sync_sales_teams, :tax2_total, :tax_rate, :tax_total, :to_be_emailed, :to_be_faxed, :to_be_printed, :total,
|
17
17
|
:total_cost_estimate, :tran_date, :tran_id, :tran_is_vsoe_bundle, :unapplied, :vat_reg_num, :vsoe_auto_calc
|
18
18
|
].each do |field|
|
19
|
-
memo.
|
19
|
+
expect(memo).to have_field(field)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
@@ -26,7 +26,7 @@ describe NetSuite::Records::CreditMemo do
|
|
26
26
|
:handling_tax_code, :job, :klass, :lead_source, :location, :message_sel, :partner, :posting_period, :promo_code,
|
27
27
|
:sales_group, :sales_rep, :ship_method, :shipping_tax_code, :subsidiary, :tax_item
|
28
28
|
].each do |record_ref|
|
29
|
-
memo.
|
29
|
+
expect(memo).to have_record_ref(record_ref)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -38,14 +38,14 @@ describe NetSuite::Records::CreditMemo do
|
|
38
38
|
}
|
39
39
|
}
|
40
40
|
memo.item_list = attributes
|
41
|
-
memo.item_list.
|
42
|
-
memo.item_list.items.length.
|
41
|
+
expect(memo.item_list).to be_kind_of(NetSuite::Records::CreditMemoItemList)
|
42
|
+
expect(memo.item_list.items.length).to eql(1)
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'can be set from a CreditMemoItemList object' do
|
46
46
|
item_list = NetSuite::Records::CreditMemoItemList.new
|
47
47
|
memo.item_list = item_list
|
48
|
-
memo.item_list.
|
48
|
+
expect(memo.item_list).to eql(item_list)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
@@ -57,14 +57,14 @@ describe NetSuite::Records::CreditMemo do
|
|
57
57
|
}
|
58
58
|
}
|
59
59
|
memo.apply_list = attributes
|
60
|
-
memo.apply_list.
|
61
|
-
memo.apply_list.applies.length.
|
60
|
+
expect(memo.apply_list).to be_kind_of(NetSuite::Records::CreditMemoApplyList)
|
61
|
+
expect(memo.apply_list.applies.length).to eql(1)
|
62
62
|
end
|
63
63
|
|
64
64
|
it 'can be set from a CreditMemoApplyList object' do
|
65
65
|
apply_list = NetSuite::Records::CreditMemoApplyList.new
|
66
66
|
memo.apply_list = apply_list
|
67
|
-
memo.apply_list.
|
67
|
+
expect(memo.apply_list).to eql(apply_list)
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
@@ -98,10 +98,10 @@ describe NetSuite::Records::CreditMemo do
|
|
98
98
|
let(:response) { NetSuite::Response.new(:success => true, :body => { :alt_shipping_cost => 100 }) }
|
99
99
|
|
100
100
|
it 'returns a CreditMemo instance populated with the data from the response object' do
|
101
|
-
NetSuite::Actions::Get.
|
101
|
+
expect(NetSuite::Actions::Get).to receive(:call).with([NetSuite::Records::CreditMemo, {:external_id => 1}], {}).and_return(response)
|
102
102
|
memo = NetSuite::Records::CreditMemo.get(:external_id => 1)
|
103
|
-
memo.
|
104
|
-
memo.alt_shipping_cost.
|
103
|
+
expect(memo).to be_kind_of(NetSuite::Records::CreditMemo)
|
104
|
+
expect(memo.alt_shipping_cost).to eql(100)
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
@@ -109,10 +109,10 @@ describe NetSuite::Records::CreditMemo do
|
|
109
109
|
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
110
110
|
|
111
111
|
it 'raises a RecordNotFound exception' do
|
112
|
-
NetSuite::Actions::Get.
|
113
|
-
|
112
|
+
expect(NetSuite::Actions::Get).to receive(:call).with([NetSuite::Records::CreditMemo, {:external_id => 1}], {}).and_return(response)
|
113
|
+
expect {
|
114
114
|
NetSuite::Records::CreditMemo.get(:external_id => 1)
|
115
|
-
}.
|
115
|
+
}.to raise_error(NetSuite::RecordNotFound,
|
116
116
|
/NetSuite::Records::CreditMemo with OPTIONS=(.*) could not be found/)
|
117
117
|
end
|
118
118
|
end
|
@@ -121,9 +121,9 @@ describe NetSuite::Records::CreditMemo do
|
|
121
121
|
describe '.initialize' do
|
122
122
|
context 'when the request is successful' do
|
123
123
|
it 'returns an initialized credit memo from the customer entity' do
|
124
|
-
NetSuite::Actions::Initialize.
|
124
|
+
expect(NetSuite::Actions::Initialize).to receive(:call).with([NetSuite::Records::CreditMemo, customer], {}).and_return(response)
|
125
125
|
invoice = NetSuite::Records::CreditMemo.initialize(customer)
|
126
|
-
invoice.
|
126
|
+
expect(invoice).to be_kind_of(NetSuite::Records::CreditMemo)
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
@@ -140,10 +140,10 @@ describe NetSuite::Records::CreditMemo do
|
|
140
140
|
|
141
141
|
it 'returns true' do
|
142
142
|
memo = NetSuite::Records::CreditMemo.new(test_data)
|
143
|
-
NetSuite::Actions::Add.
|
143
|
+
expect(NetSuite::Actions::Add).to receive(:call).
|
144
144
|
with([memo], {}).
|
145
145
|
and_return(response)
|
146
|
-
memo.add.
|
146
|
+
expect(memo.add).to be_truthy
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
@@ -152,10 +152,10 @@ describe NetSuite::Records::CreditMemo do
|
|
152
152
|
|
153
153
|
it 'returns false' do
|
154
154
|
memo = NetSuite::Records::CreditMemo.new(test_data)
|
155
|
-
NetSuite::Actions::Add.
|
155
|
+
expect(NetSuite::Actions::Add).to receive(:call).
|
156
156
|
with([memo], {}).
|
157
157
|
and_return(response)
|
158
|
-
memo.add.
|
158
|
+
expect(memo.add).to be_falsey
|
159
159
|
end
|
160
160
|
end
|
161
161
|
end
|
@@ -168,10 +168,10 @@ describe NetSuite::Records::CreditMemo do
|
|
168
168
|
|
169
169
|
it 'returns true' do
|
170
170
|
memo = NetSuite::Records::CreditMemo.new(test_data)
|
171
|
-
NetSuite::Actions::Delete.
|
171
|
+
expect(NetSuite::Actions::Delete).to receive(:call).
|
172
172
|
with([memo], {}).
|
173
173
|
and_return(response)
|
174
|
-
memo.delete.
|
174
|
+
expect(memo.delete).to be_truthy
|
175
175
|
end
|
176
176
|
end
|
177
177
|
|
@@ -180,10 +180,10 @@ describe NetSuite::Records::CreditMemo do
|
|
180
180
|
|
181
181
|
it 'returns false' do
|
182
182
|
memo = NetSuite::Records::CreditMemo.new(test_data)
|
183
|
-
NetSuite::Actions::Delete.
|
183
|
+
expect(NetSuite::Actions::Delete).to receive(:call).
|
184
184
|
with([memo], {}).
|
185
185
|
and_return(response)
|
186
|
-
memo.delete.
|
186
|
+
expect(memo.delete).to be_falsey
|
187
187
|
end
|
188
188
|
end
|
189
189
|
end
|
@@ -198,13 +198,13 @@ describe NetSuite::Records::CreditMemo do
|
|
198
198
|
'tranCust:email' => 'something@example.com',
|
199
199
|
'tranCust:tranId' => '4'
|
200
200
|
}
|
201
|
-
memo.to_record.
|
201
|
+
expect(memo.to_record).to eql(record)
|
202
202
|
end
|
203
203
|
end
|
204
204
|
|
205
205
|
describe '#record_type' do
|
206
206
|
it 'returns a string representation of the SOAP type' do
|
207
|
-
memo.record_type.
|
207
|
+
expect(memo.record_type).to eql('tranCust:CreditMemo')
|
208
208
|
end
|
209
209
|
end
|
210
210
|
|
@@ -4,31 +4,31 @@ describe NetSuite::Records::CustomFieldList do
|
|
4
4
|
let(:list) { NetSuite::Records::CustomFieldList.new }
|
5
5
|
|
6
6
|
it 'has a custom_fields attribute' do
|
7
|
-
list.custom_fields.
|
7
|
+
expect(list.custom_fields).to be_kind_of(Array)
|
8
8
|
end
|
9
9
|
|
10
10
|
context 'writing convience methods' do
|
11
11
|
it "should create a custom field entry when none exists" do
|
12
12
|
list.custrecord_somefield = 'a value'
|
13
|
-
list.custom_fields.size.
|
14
|
-
list.custom_fields.first.value.
|
15
|
-
list.custom_fields.first.type.
|
13
|
+
expect(list.custom_fields.size).to eq(1)
|
14
|
+
expect(list.custom_fields.first.value).to eq('a value')
|
15
|
+
expect(list.custom_fields.first.type).to eq('platformCore:StringCustomFieldRef')
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should handle date custom field creation" do
|
19
19
|
list.custrecord_somefield = Date.parse("12/12/2012")
|
20
|
-
list.custom_fields.first.value.
|
20
|
+
expect(list.custom_fields.first.value).to eq('2012-12-12T00:00:00+00:00')
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should handle datetime custom field creation" do
|
24
24
|
list.custrecord_somefield = DateTime.parse("12/12/2012 10:05am")
|
25
|
-
list.custom_fields.first.value.
|
25
|
+
expect(list.custom_fields.first.value).to eq('2012-12-12T10:05:00+00:00')
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should convert a list of numbers into a list of custom field refs" do
|
29
29
|
list.custrecord_somefield = [1,2]
|
30
|
-
list.custom_fields.first.type.
|
31
|
-
list.custom_fields.first.value.map(&:to_record).
|
30
|
+
expect(list.custom_fields.first.type).to eq('platformCore:MultiSelectCustomFieldRef')
|
31
|
+
expect(list.custom_fields.first.value.map(&:to_record)).to eql([
|
32
32
|
NetSuite::Records::CustomRecordRef.new(:internal_id => 1),
|
33
33
|
NetSuite::Records::CustomRecordRef.new(:internal_id => 2)
|
34
34
|
].map(&:to_record))
|
@@ -75,8 +75,8 @@ describe NetSuite::Records::CustomFieldList do
|
|
75
75
|
]
|
76
76
|
}
|
77
77
|
|
78
|
-
list.to_record.
|
79
|
-
list.to_record.length.
|
78
|
+
expect(list.to_record).to eql(record)
|
79
|
+
expect(list.to_record.length).to eq(1)
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
@@ -4,7 +4,7 @@ describe NetSuite::Records::CustomList do
|
|
4
4
|
let(:custom_list) { NetSuite::Records::CustomList.new }
|
5
5
|
|
6
6
|
it 'has all the right fields' do
|
7
|
-
custom_list.
|
7
|
+
expect(custom_list).to have_field(:script_id)
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should handle the #custom_value_list" do
|
@@ -15,7 +15,7 @@ describe NetSuite::Records::CustomList do
|
|
15
15
|
}
|
16
16
|
]}
|
17
17
|
|
18
|
-
custom_list.custom_value_list.
|
19
|
-
custom_list.custom_value_list.custom_value.first.
|
18
|
+
expect(custom_list.custom_value_list).to be_kind_of(NetSuite::Support::Sublist)
|
19
|
+
expect(custom_list.custom_value_list.custom_value.first).to be_kind_of(NetSuite::Records::CustomListCustomValue)
|
20
20
|
end
|
21
21
|
end
|
@@ -12,7 +12,7 @@ describe NetSuite::Records::CustomRecord do
|
|
12
12
|
:show_creation_date_on_list, :show_id, :show_last_modified, :show_last_modified_on_list, :show_notes, :show_owner,
|
13
13
|
:show_owner_allow_change, :show_owner_on_list, :use_permissions
|
14
14
|
].each do |field|
|
15
|
-
record.
|
15
|
+
expect(record).to have_field(field)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -20,7 +20,7 @@ describe NetSuite::Records::CustomRecord do
|
|
20
20
|
[
|
21
21
|
:custom_form, :owner
|
22
22
|
].each do |record_ref|
|
23
|
-
record.
|
23
|
+
expect(record).to have_record_ref(record_ref)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -33,15 +33,15 @@ describe NetSuite::Records::CustomRecord do
|
|
33
33
|
}
|
34
34
|
}
|
35
35
|
record.custom_field_list = attributes
|
36
|
-
record.custom_field_list.
|
37
|
-
record.custom_field_list.custom_fields.length.
|
38
|
-
record.custom_field_list.custfield_amount.attributes[:amount].
|
36
|
+
expect(record.custom_field_list).to be_kind_of(NetSuite::Records::CustomFieldList)
|
37
|
+
expect(record.custom_field_list.custom_fields.length).to eql(1)
|
38
|
+
expect(record.custom_field_list.custfield_amount.attributes[:amount]).to eq(10)
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'can be set from a CustomFieldList object' do
|
42
42
|
custom_field_list = NetSuite::Records::CustomFieldList.new
|
43
43
|
record.custom_field_list = custom_field_list
|
44
|
-
record.custom_field_list.
|
44
|
+
expect(record.custom_field_list).to eql(custom_field_list)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
@@ -50,12 +50,12 @@ describe NetSuite::Records::CustomRecord do
|
|
50
50
|
let(:response) { NetSuite::Response.new(:success => true, :body => { :allow_quick_search => true }) }
|
51
51
|
|
52
52
|
it 'returns a Customer instance populated with the data from the response object' do
|
53
|
-
NetSuite::Actions::Get.
|
53
|
+
expect(NetSuite::Actions::Get).to receive(:call).
|
54
54
|
with([NetSuite::Records::CustomRecord, {:external_id => 1, :type_id => nil, :custom => true}], {}).
|
55
55
|
and_return(response)
|
56
56
|
customer = NetSuite::Records::CustomRecord.get(:external_id => 1)
|
57
|
-
customer.
|
58
|
-
customer.allow_quick_search.
|
57
|
+
expect(customer).to be_kind_of(NetSuite::Records::CustomRecord)
|
58
|
+
expect(customer.allow_quick_search).to be_truthy
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
@@ -63,12 +63,12 @@ describe NetSuite::Records::CustomRecord do
|
|
63
63
|
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
64
64
|
|
65
65
|
it 'raises a RecordNotFound exception' do
|
66
|
-
NetSuite::Actions::Get.
|
66
|
+
expect(NetSuite::Actions::Get).to receive(:call).
|
67
67
|
with([NetSuite::Records::CustomRecord, {:external_id => 1, :type_id => nil, :custom => true}], {}).
|
68
68
|
and_return(response)
|
69
|
-
|
69
|
+
expect {
|
70
70
|
NetSuite::Records::CustomRecord.get(:external_id => 1)
|
71
|
-
}.
|
71
|
+
}.to raise_error(NetSuite::RecordNotFound,
|
72
72
|
/NetSuite::Records::CustomRecord with OPTIONS=(.*) could not be found/)
|
73
73
|
end
|
74
74
|
end
|
@@ -79,10 +79,10 @@ describe NetSuite::Records::CustomRecord do
|
|
79
79
|
let(:response) { NetSuite::Response.new(:success => true, :body => { :internal_id => '1' }) }
|
80
80
|
|
81
81
|
it 'returns true' do
|
82
|
-
NetSuite::Actions::Add.
|
82
|
+
expect(NetSuite::Actions::Add).to receive(:call).
|
83
83
|
with([record], {}).
|
84
84
|
and_return(response)
|
85
|
-
record.add.
|
85
|
+
expect(record.add).to be_truthy
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
@@ -90,10 +90,10 @@ describe NetSuite::Records::CustomRecord do
|
|
90
90
|
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
91
91
|
|
92
92
|
it 'returns false' do
|
93
|
-
NetSuite::Actions::Add.
|
93
|
+
expect(NetSuite::Actions::Add).to receive(:call).
|
94
94
|
with([record], {}).
|
95
95
|
and_return(response)
|
96
|
-
record.add.
|
96
|
+
expect(record.add).to be_falsey
|
97
97
|
end
|
98
98
|
end
|
99
99
|
end
|
@@ -103,10 +103,10 @@ describe NetSuite::Records::CustomRecord do
|
|
103
103
|
let(:response) { NetSuite::Response.new(:success => true, :body => { :internal_id => '1' }) }
|
104
104
|
|
105
105
|
it 'returns true' do
|
106
|
-
NetSuite::Actions::Delete.
|
106
|
+
expect(NetSuite::Actions::Delete).to receive(:call).
|
107
107
|
with([record, { :custom => true }], {}).
|
108
108
|
and_return(response)
|
109
|
-
record.delete.
|
109
|
+
expect(record.delete).to be_truthy
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
@@ -114,10 +114,10 @@ describe NetSuite::Records::CustomRecord do
|
|
114
114
|
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
115
115
|
|
116
116
|
it 'returns false' do
|
117
|
-
NetSuite::Actions::Delete.
|
117
|
+
expect(NetSuite::Actions::Delete).to receive(:call).
|
118
118
|
with([record, { :custom => true }], {}).
|
119
119
|
and_return(response)
|
120
|
-
record.delete.
|
120
|
+
expect(record.delete).to be_falsey
|
121
121
|
end
|
122
122
|
end
|
123
123
|
end
|