netsuite 0.6.8 → 0.6.9
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.
- data/lib/netsuite.rb +4 -0
- data/lib/netsuite/records/credit_memo_item_list.rb +3 -16
- data/lib/netsuite/records/gift_cert_redemption.rb +25 -0
- data/lib/netsuite/records/gift_cert_redemption_list.rb +11 -0
- data/lib/netsuite/records/gift_certificate.rb +4 -0
- data/lib/netsuite/records/item_group.rb +37 -0
- data/lib/netsuite/records/item_member_list.rb +12 -0
- data/lib/netsuite/records/kit_item.rb +1 -1
- data/lib/netsuite/records/sales_order.rb +4 -3
- data/lib/netsuite/utilities.rb +22 -0
- data/lib/netsuite/version.rb +1 -1
- data/spec/netsuite/records/basic_record_spec.rb +2 -0
- data/spec/netsuite/records/gift_cert_redemption_list_spec.rb +26 -0
- data/spec/netsuite/records/gift_cert_redemption_spec.rb +21 -0
- data/spec/netsuite/records/item_group_spec.rb +117 -0
- data/spec/netsuite/records/item_member_list_spec.rb +26 -0
- data/spec/netsuite/records/sales_order_spec.rb +19 -0
- metadata +14 -2
data/lib/netsuite.rb
CHANGED
@@ -130,6 +130,8 @@ module NetSuite
|
|
130
130
|
autoload :Employee, 'netsuite/records/employee'
|
131
131
|
autoload :File, 'netsuite/records/file'
|
132
132
|
autoload :GiftCertificate, 'netsuite/records/gift_certificate'
|
133
|
+
autoload :GiftCertRedemption, 'netsuite/records/gift_cert_redemption'
|
134
|
+
autoload :GiftCertRedemptionList, 'netsuite/records/gift_cert_redemption_list'
|
133
135
|
autoload :Folder, 'netsuite/records/folder'
|
134
136
|
autoload :InventoryAssignment, 'netsuite/records/inventory_assignment'
|
135
137
|
autoload :InventoryAssignmentList, 'netsuite/records/inventory_assignment_list'
|
@@ -146,7 +148,9 @@ module NetSuite
|
|
146
148
|
autoload :ItemFulfillmentItemList, 'netsuite/records/item_fulfillment_item_list'
|
147
149
|
autoload :ItemFulfillmentPackage, 'netsuite/records/item_fulfillment_package'
|
148
150
|
autoload :ItemFulfillmentPackageList, 'netsuite/records/item_fulfillment_package_list'
|
151
|
+
autoload :ItemGroup, 'netsuite/records/item_group'
|
149
152
|
autoload :ItemMember, 'netsuite/records/item_member'
|
153
|
+
autoload :ItemMemberList, 'netsuite/records/item_member_list'
|
150
154
|
autoload :ItemReceipt, 'netsuite/records/item_receipt'
|
151
155
|
autoload :ItemReceiptItemList, 'netsuite/records/item_receipt_item_list'
|
152
156
|
autoload :ItemReceiptItem, 'netsuite/records/item_receipt_item'
|
@@ -1,24 +1,11 @@
|
|
1
1
|
module NetSuite
|
2
2
|
module Records
|
3
|
-
class CreditMemoItemList
|
3
|
+
class CreditMemoItemList < Support::Sublist
|
4
4
|
include Namespaces::TranCust
|
5
5
|
|
6
|
-
|
7
|
-
case attributes[:item]
|
8
|
-
when Hash
|
9
|
-
items << CreditMemoItem.new(attributes[:item])
|
10
|
-
when Array
|
11
|
-
attributes[:item].each { |item| items << CreditMemoItem.new(item) }
|
12
|
-
end
|
13
|
-
end
|
6
|
+
sublist :item, CreditMemoItem
|
14
7
|
|
15
|
-
|
16
|
-
@items ||= []
|
17
|
-
end
|
18
|
-
|
19
|
-
def to_record
|
20
|
-
{ "#{record_namespace}:item" => items.map(&:to_record) }
|
21
|
-
end
|
8
|
+
alias :items :item
|
22
9
|
end
|
23
10
|
end
|
24
11
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module NetSuite
|
2
|
+
module Records
|
3
|
+
class GiftCertRedemption
|
4
|
+
include Support::Fields
|
5
|
+
include Support::RecordRefs
|
6
|
+
include Support::Records
|
7
|
+
include Support::Actions
|
8
|
+
include Namespaces::TranSales
|
9
|
+
|
10
|
+
actions :get, :get_list, :add, :initialize, :delete, :update, :upsert, :search
|
11
|
+
|
12
|
+
fields :auth_code_amt_remaining, :auth_code_applied, :gift_cert_available
|
13
|
+
|
14
|
+
record_refs :auth_code
|
15
|
+
|
16
|
+
attr_reader :internal_id
|
17
|
+
|
18
|
+
def initialize(attributes = {})
|
19
|
+
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
|
20
|
+
initialize_from_attributes_hash(attributes)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module NetSuite
|
2
|
+
module Records
|
3
|
+
class ItemGroup
|
4
|
+
include Support::Fields
|
5
|
+
include Support::RecordRefs
|
6
|
+
include Support::Records
|
7
|
+
include Support::Actions
|
8
|
+
include Namespaces::ListAcct
|
9
|
+
|
10
|
+
actions :get, :get_list, :add, :delete, :search, :update, :upsert
|
11
|
+
|
12
|
+
fields :available_to_partners, :created_date, :description, :display_name, :include_children, :include_start_end_lines,
|
13
|
+
:is_inactive, :is_vsoe_bundle, :item_id, :last_modified_date, :print_items, :upc_code, :vendor_name
|
14
|
+
|
15
|
+
record_refs :custom_form, :default_item_ship_method, :department, :issue_product, :item_ship_method_list, :klass, :location, :parent
|
16
|
+
|
17
|
+
field :custom_field_list, CustomFieldList
|
18
|
+
# TODO field :item_carrier, ShippingCarrier
|
19
|
+
field :member_list, ItemMemberList
|
20
|
+
field :subsidiary_list, RecordRefList
|
21
|
+
# TODO field :translations_list, TranslationList
|
22
|
+
|
23
|
+
attr_reader :internal_id
|
24
|
+
attr_accessor :external_id
|
25
|
+
|
26
|
+
def initialize(attributes = {})
|
27
|
+
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
|
28
|
+
@external_id = attributes.delete(:external_id) || attributes.delete(:@external_id)
|
29
|
+
initialize_from_attributes_hash(attributes)
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.search_class_name
|
33
|
+
"Item"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -31,6 +31,7 @@ module NetSuite
|
|
31
31
|
field :custom_field_list, CustomFieldList
|
32
32
|
field :pricing_matrix, PricingMatrix
|
33
33
|
field :subsidiary_list, RecordRefList
|
34
|
+
field :member_list, ItemMemberList
|
34
35
|
|
35
36
|
# TODO custom records need to be implemented
|
36
37
|
# field :accounting_book_detail_list, ItemAccountingBookDetailList
|
@@ -41,7 +42,6 @@ module NetSuite
|
|
41
42
|
# field :item_carrier, ItemCarrier
|
42
43
|
# field :item_options_list, ItemOptionsList
|
43
44
|
# field :item_ship_method_list, RecordRefList
|
44
|
-
# field :member_list, ItemMemberList
|
45
45
|
# field :out_of_stock_behavior, ItemOutOfStockBehavior
|
46
46
|
# field :overall_quantity_pricing_type, ItemOverallQuantityPricingType
|
47
47
|
# field :preference_criterion, ItemPreferenceCriterion
|
@@ -14,7 +14,7 @@ module NetSuite
|
|
14
14
|
:est_gross_profit, :est_gross_profit_percent, :exchange_rate, :exclude_commission, :fax, :gift_cert_applied,
|
15
15
|
:gift_cert_available, :gift_cert_total, :handling_cost, :handling_tax1_rate, :handling_tax2_rate, :is_taxable,
|
16
16
|
:last_modified_date, :memo, :message, :on_credit_hold, :order_status, :other_ref_num, :recognized_revenue,
|
17
|
-
:rev_rec_on_rev_commitment, :sales_effective_date, :ship_date, :shipping_cost, :shipping_tax1_rate, :shipping_tax2_rate, :source,
|
17
|
+
:rev_rec_on_rev_commitment, :sales_effective_date, :ship_complete, :ship_date, :shipping_cost, :shipping_tax1_rate, :shipping_tax2_rate, :source,
|
18
18
|
:start_date, :status, :sync_partner_teams, :sync_sales_teams, :tax2_total, :tax_rate, :to_be_emailed, :to_be_faxed,
|
19
19
|
:to_be_printed, :total_cost_estimate, :tran_date, :tran_id, :tran_is_vsoe_bundle, :vat_reg_num,
|
20
20
|
:linked_tracking_numbers, :vsoe_auto_calc, :quantity, :bill_city, :bill_state, :ship_city, :ship_state, :cost_estimate,
|
@@ -28,8 +28,9 @@ module NetSuite
|
|
28
28
|
field :transaction_ship_address, ShipAddress
|
29
29
|
field :transaction_bill_address, BillAddress
|
30
30
|
|
31
|
-
field :item_list,
|
32
|
-
field :custom_field_list,
|
31
|
+
field :item_list, SalesOrderItemList
|
32
|
+
field :custom_field_list, CustomFieldList
|
33
|
+
field :gift_cert_redemption_list, GiftCertRedemptionList
|
33
34
|
|
34
35
|
read_only_fields :applied, :discount_total, :sub_total, :tax_total, :total, :unapplied
|
35
36
|
|
data/lib/netsuite/utilities.rb
CHANGED
@@ -4,6 +4,28 @@ module NetSuite
|
|
4
4
|
|
5
5
|
# TODO need structured logger for various statements
|
6
6
|
|
7
|
+
def append_memo(ns_record, added_memo, opts = {})
|
8
|
+
opts[:skip_if_exists] ||= false
|
9
|
+
|
10
|
+
memo_key = if ns_record.class == NetSuite::Records::Customer
|
11
|
+
:comments
|
12
|
+
else
|
13
|
+
:memo
|
14
|
+
end
|
15
|
+
|
16
|
+
return if opts[:skip_if_exists] &&
|
17
|
+
ns_record.send(memo_key) &&
|
18
|
+
ns_record.send(memo_key).include?(added_memo)
|
19
|
+
|
20
|
+
if ns_record.send(memo_key)
|
21
|
+
ns_record.send(:"#{memo_key}=", "#{ns_record.send(memo_key)}. #{added_memo}")
|
22
|
+
else
|
23
|
+
ns_record.send(:"#{memo_key}=", added_memo.to_s)
|
24
|
+
end
|
25
|
+
|
26
|
+
ns_record
|
27
|
+
end
|
28
|
+
|
7
29
|
def backoff(options = {})
|
8
30
|
count = 0
|
9
31
|
begin
|
data/lib/netsuite/version.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Records::GiftCertRedemptionList do
|
4
|
+
let(:list) { NetSuite::Records::GiftCertRedemptionList.new }
|
5
|
+
|
6
|
+
it 'has a gift_cert_redemptions attribute' do
|
7
|
+
expect(list.gift_cert_redemptions).to be_kind_of(Array)
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '#to_record' do
|
11
|
+
before do
|
12
|
+
list.gift_cert_redemptions << NetSuite::Records::GiftCertRedemption.new(
|
13
|
+
:auth_code_applied => 20
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'can represent itself as a SOAP record' do
|
18
|
+
record = {
|
19
|
+
'tranSales:giftCertRedemption' => [{
|
20
|
+
'tranSales:authCodeApplied' => 20
|
21
|
+
}]
|
22
|
+
}
|
23
|
+
expect(list.to_record).to eql(record)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Records::GiftCertRedemption do
|
4
|
+
let(:redemption) { NetSuite::Records::GiftCertRedemption.new }
|
5
|
+
|
6
|
+
it 'has all the right fields' do
|
7
|
+
[
|
8
|
+
:auth_code_amt_remaining, :auth_code_applied, :gift_cert_available
|
9
|
+
].each do |field|
|
10
|
+
expect(redemption).to have_field(field)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'has all the right record refs' do
|
15
|
+
[
|
16
|
+
:auth_code
|
17
|
+
].each do |record_ref|
|
18
|
+
expect(redemption).to have_record_ref(record_ref)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Records::ItemGroup do
|
4
|
+
let(:item) { NetSuite::Records::ItemGroup.new }
|
5
|
+
|
6
|
+
it 'has all the right fields' do
|
7
|
+
[
|
8
|
+
:available_to_partners, :created_date, :description, :display_name, :include_children, :include_start_end_lines, :is_inactive, :is_vsoe_bundle, :item_id, :last_modified_date, :print_items, :upc_code, :vendor_name
|
9
|
+
].each do |field|
|
10
|
+
expect(item).to have_field(field)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'has all the right record refs' do
|
15
|
+
[
|
16
|
+
:custom_form, :default_item_ship_method, :department, :issue_product, :item_ship_method_list, :location
|
17
|
+
].each do |record_ref|
|
18
|
+
expect(item).to have_record_ref(record_ref)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '.get' do
|
23
|
+
context 'when the response is successful' do
|
24
|
+
let(:response) { NetSuite::Response.new(:success => true, :body => { :item_id => "Item100" }) }
|
25
|
+
|
26
|
+
it 'returns a ItemGroup instance populated with the data from the response object' do
|
27
|
+
expect(NetSuite::Actions::Get).to receive(:call).with([NetSuite::Records::ItemGroup, {:external_id => 1}], {}).and_return(response)
|
28
|
+
item = NetSuite::Records::ItemGroup.get(:external_id => 1)
|
29
|
+
expect(item).to be_kind_of(NetSuite::Records::ItemGroup)
|
30
|
+
expect(item.item_id).to eql("Item100")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'when the response is unsuccessful' do
|
35
|
+
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
36
|
+
|
37
|
+
it 'raises a RecordNotFound exception' do
|
38
|
+
expect(NetSuite::Actions::Get).to receive(:call).with([NetSuite::Records::ItemGroup, {:external_id => 1}], {}).and_return(response)
|
39
|
+
expect {
|
40
|
+
NetSuite::Records::ItemGroup.get(:external_id => 1)
|
41
|
+
}.to raise_error(NetSuite::RecordNotFound,
|
42
|
+
/NetSuite::Records::ItemGroup with OPTIONS=(.*) could not be found/)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe '#add' do
|
48
|
+
let(:item) { NetSuite::Records::ItemGroup.new(:item_id => "Item100", :is_inactive => false) }
|
49
|
+
|
50
|
+
context 'when the response is successful' do
|
51
|
+
let(:response) { NetSuite::Response.new(:success => true, :body => { :internal_id => '1' }) }
|
52
|
+
|
53
|
+
it 'returns true' do
|
54
|
+
expect(NetSuite::Actions::Add).to receive(:call).
|
55
|
+
with([item], {}).
|
56
|
+
and_return(response)
|
57
|
+
expect(item.add).to be_truthy
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context 'when the response is unsuccessful' do
|
62
|
+
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
63
|
+
|
64
|
+
it 'returns false' do
|
65
|
+
expect(NetSuite::Actions::Add).to receive(:call).
|
66
|
+
with([item], {}).
|
67
|
+
and_return(response)
|
68
|
+
expect(item.add).to be_falsey
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe '#delete' do
|
74
|
+
context 'when the response is successful' do
|
75
|
+
let(:response) { NetSuite::Response.new(:success => true, :body => { :internal_id => '1' }) }
|
76
|
+
|
77
|
+
it 'returns true' do
|
78
|
+
expect(NetSuite::Actions::Delete).to receive(:call).
|
79
|
+
with([item], {}).
|
80
|
+
and_return(response)
|
81
|
+
expect(item.delete).to be_truthy
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context 'when the response is unsuccessful' do
|
86
|
+
let(:response) { NetSuite::Response.new(:success => false, :body => {}) }
|
87
|
+
|
88
|
+
it 'returns false' do
|
89
|
+
expect(NetSuite::Actions::Delete).to receive(:call).
|
90
|
+
with([item], {}).
|
91
|
+
and_return(response)
|
92
|
+
expect(item.delete).to be_falsey
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
describe '#to_record' do
|
98
|
+
before do
|
99
|
+
item.item_id = "Item100"
|
100
|
+
item.is_inactive = false
|
101
|
+
end
|
102
|
+
it 'can represent itself as a SOAP record' do
|
103
|
+
record = {
|
104
|
+
'listAcct:itemId' => "Item100",
|
105
|
+
'listAcct:isInactive' => false
|
106
|
+
}
|
107
|
+
expect(item.to_record).to eql(record)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
describe '#record_type' do
|
112
|
+
it 'returns a string representation of the SOAP type' do
|
113
|
+
expect(item.record_type).to eql('listAcct:ItemGroup')
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Records::ItemMemberList do
|
4
|
+
let(:list) { NetSuite::Records::ItemMemberList.new }
|
5
|
+
|
6
|
+
it 'has a item_members attribute' do
|
7
|
+
expect(list.item_members).to be_kind_of(Array)
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '#to_record' do
|
11
|
+
before do
|
12
|
+
list.item_members << NetSuite::Records::ItemMember.new(:quantity => 3, :member_descr => "Component 5")
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'can represent itself as a SOAP record' do
|
16
|
+
record = {
|
17
|
+
'listAcct:itemMember' => [{
|
18
|
+
'listAcct:quantity' => 3,
|
19
|
+
'listAcct:memberDescr' => "Component 5"
|
20
|
+
}]
|
21
|
+
}
|
22
|
+
expect(list.to_record).to eql(record)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -58,6 +58,25 @@ describe NetSuite::Records::SalesOrder do
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
+
describe '#gift_cert_redemption_list' do
|
62
|
+
it 'can be set from attributes' do
|
63
|
+
attributes = {
|
64
|
+
:gift_cert_redemption => {
|
65
|
+
:auth_code_amt_remaining => 20
|
66
|
+
}
|
67
|
+
}
|
68
|
+
salesorder.gift_cert_redemption_list = attributes
|
69
|
+
expect(salesorder.gift_cert_redemption_list).to be_kind_of(NetSuite::Records::GiftCertRedemptionList)
|
70
|
+
expect(salesorder.gift_cert_redemption_list.gift_cert_redemptions.length).to eql(1)
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'can be set from a GiftCertRedemptionList object' do
|
74
|
+
gift_cert_redemption_list = NetSuite::Records::GiftCertRedemptionList.new
|
75
|
+
salesorder.gift_cert_redemption_list = gift_cert_redemption_list
|
76
|
+
expect(salesorder.gift_cert_redemption_list).to eql(gift_cert_redemption_list)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
61
80
|
describe '#transaction_bill_address' do
|
62
81
|
it 'can be set from attributes'
|
63
82
|
it 'can be set from a BillAddress object'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netsuite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-07-
|
13
|
+
date: 2016-07-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: savon
|
@@ -168,6 +168,8 @@ files:
|
|
168
168
|
- lib/netsuite/records/employee.rb
|
169
169
|
- lib/netsuite/records/file.rb
|
170
170
|
- lib/netsuite/records/folder.rb
|
171
|
+
- lib/netsuite/records/gift_cert_redemption.rb
|
172
|
+
- lib/netsuite/records/gift_cert_redemption_list.rb
|
171
173
|
- lib/netsuite/records/gift_certificate.rb
|
172
174
|
- lib/netsuite/records/inventory_assignment.rb
|
173
175
|
- lib/netsuite/records/inventory_assignment_list.rb
|
@@ -184,7 +186,9 @@ files:
|
|
184
186
|
- lib/netsuite/records/item_fulfillment_item_list.rb
|
185
187
|
- lib/netsuite/records/item_fulfillment_package.rb
|
186
188
|
- lib/netsuite/records/item_fulfillment_package_list.rb
|
189
|
+
- lib/netsuite/records/item_group.rb
|
187
190
|
- lib/netsuite/records/item_member.rb
|
191
|
+
- lib/netsuite/records/item_member_list.rb
|
188
192
|
- lib/netsuite/records/item_receipt.rb
|
189
193
|
- lib/netsuite/records/item_receipt_item.rb
|
190
194
|
- lib/netsuite/records/item_receipt_item_list.rb
|
@@ -328,6 +332,8 @@ files:
|
|
328
332
|
- spec/netsuite/records/employee_spec.rb
|
329
333
|
- spec/netsuite/records/file_spec.rb
|
330
334
|
- spec/netsuite/records/folder_spec.rb
|
335
|
+
- spec/netsuite/records/gift_cert_redemption_list_spec.rb
|
336
|
+
- spec/netsuite/records/gift_cert_redemption_spec.rb
|
331
337
|
- spec/netsuite/records/inventory_assignment_list_spec.rb
|
332
338
|
- spec/netsuite/records/inventory_assignment_spec.rb
|
333
339
|
- spec/netsuite/records/inventory_detail_spec.rb
|
@@ -338,6 +344,8 @@ files:
|
|
338
344
|
- spec/netsuite/records/invoice_spec.rb
|
339
345
|
- spec/netsuite/records/item_fulfillment_package_list_spec.rb
|
340
346
|
- spec/netsuite/records/item_fulfillment_spec.rb
|
347
|
+
- spec/netsuite/records/item_group_spec.rb
|
348
|
+
- spec/netsuite/records/item_member_list_spec.rb
|
341
349
|
- spec/netsuite/records/job_spec.rb
|
342
350
|
- spec/netsuite/records/journal_entry_line_list_spec.rb
|
343
351
|
- spec/netsuite/records/journal_entry_line_spec.rb
|
@@ -508,6 +516,8 @@ test_files:
|
|
508
516
|
- spec/netsuite/records/employee_spec.rb
|
509
517
|
- spec/netsuite/records/file_spec.rb
|
510
518
|
- spec/netsuite/records/folder_spec.rb
|
519
|
+
- spec/netsuite/records/gift_cert_redemption_list_spec.rb
|
520
|
+
- spec/netsuite/records/gift_cert_redemption_spec.rb
|
511
521
|
- spec/netsuite/records/inventory_assignment_list_spec.rb
|
512
522
|
- spec/netsuite/records/inventory_assignment_spec.rb
|
513
523
|
- spec/netsuite/records/inventory_detail_spec.rb
|
@@ -518,6 +528,8 @@ test_files:
|
|
518
528
|
- spec/netsuite/records/invoice_spec.rb
|
519
529
|
- spec/netsuite/records/item_fulfillment_package_list_spec.rb
|
520
530
|
- spec/netsuite/records/item_fulfillment_spec.rb
|
531
|
+
- spec/netsuite/records/item_group_spec.rb
|
532
|
+
- spec/netsuite/records/item_member_list_spec.rb
|
521
533
|
- spec/netsuite/records/job_spec.rb
|
522
534
|
- spec/netsuite/records/journal_entry_line_list_spec.rb
|
523
535
|
- spec/netsuite/records/journal_entry_line_spec.rb
|