axiomus_api 0.1.2 → 0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ad4f4f35b4f4b4e19262b1f7d25d6fee2c26de68
4
- data.tar.gz: 87bfb90d97f8c2f159476b8db61c5aae963400b1
3
+ metadata.gz: 01b9bba2a5f6c2a80077adee2f7618cdb3012285
4
+ data.tar.gz: f0168adfc8ec11167ecf7b9762d493884774f479
5
5
  SHA512:
6
- metadata.gz: 25f1d85d1a30a776041719c2f632695555bef952638174dc0a3907c9c35e871362a8373545db74569ab7f974ba89edd53cd232a8d5846bb54cde7e738785f717
7
- data.tar.gz: 0cecac24317941a7014780a2a0d60e7ea50f62085a6beb1a14089bbac628baec19397be80cd4e0fc9987530a4bda4ed8aa48374f79fadb55cad2f3bb3189837f
6
+ metadata.gz: 1f2d713c2bbaf5c984198dcd53686ce7694842176c78e7308a7278833c1d3ea6d38b4d155abe2a68d44577840bf4c60470c4fa6bdf51d0f44c8c980fa66597f7
7
+ data.tar.gz: 76a55fe55d9b7dad0a4a9cb81c5e8036127d36523324e8694ed5a35a78079563fbadb26e985f85ea5a24ba781d4664c6ec51e7df22f274748b23642931cd9f9d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- axiomus_api (0.1.1)
4
+ axiomus_api (0.2)
5
5
  nokogiri (~> 1.6)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -96,13 +96,14 @@ You can also specify the Axiomus method as a symbol, using `AxiomusApi::Session#
96
96
  @response = @session.send_order_request(:update_ems, @order)
97
97
  ```
98
98
 
99
- Most orders use `AxiomusApi::Item` as their item type, but some don't. To safely create an item of a proper type, use `#create_item` method of your order object:
99
+ Most orders use `AxiomusApi::Item` as their item type, but some don't. To safely create an item of a proper type, use `#add_item` method of your order's `#items` field:
100
100
 
101
101
  ```ruby
102
102
  @order = AxiomusApi::EmsOrder.new
103
- @my_item = @order.create_item
104
- # set item properties
105
- @order.items << @my_item
103
+ @my_item = @order.items.add_item
104
+ @my_item.name = 'My awesome product'
105
+ @my_item.weight = 0.3
106
+ # set other fields
106
107
  ```
107
108
 
108
109
  ### Getting order status
@@ -13,7 +13,7 @@ class AxiomusApi::Base
13
13
  options = extract_options(args)
14
14
 
15
15
  options.keys.each do |k|
16
- raise "Wrong attribute #{k}" if ![:xml_type, :xml_name, :optional, :type].include?(k)
16
+ raise "Wrong attribute #{k}" if ![:xml_type, :xml_name, :optional, :type, :array, :max_occurs].include?(k)
17
17
  end
18
18
 
19
19
  args.each do |attr_name|
@@ -29,6 +29,10 @@ class AxiomusApi::Base
29
29
  xml_field(*args)
30
30
  end
31
31
 
32
+ def self.xml_field_array(name, options = {})
33
+ xml_field(name, options.merge({array: true}))
34
+ end
35
+
32
36
  def self.attribute_meta
33
37
  res = superclass.respond_to?(:attribute_meta) ? superclass.attribute_meta : {}
34
38
  res.merge(@attr_info || {})
@@ -60,7 +64,9 @@ class AxiomusApi::Base
60
64
 
61
65
  def initialize
62
66
  self.class.attribute_meta.each do |k, v|
63
- if v[:type]
67
+ if v[:array]
68
+ self.send("#{k}=".to_sym, [])
69
+ elsif v[:type]
64
70
  self.send("#{k}=".to_sym, v[:type].new)
65
71
  end
66
72
  end
@@ -0,0 +1,5 @@
1
+ require_relative 'base'
2
+
3
+ class AxiomusApi::Below < AxiomusApi::Base
4
+ xml_attribute :below_sum, :price
5
+ end
@@ -0,0 +1,13 @@
1
+ require_relative 'base'
2
+ require_relative 'below'
3
+
4
+ class AxiomusApi::Delivset < AxiomusApi::Base
5
+ xml_attribute :return_price, :above_sum, :above_price
6
+ xml_field_array :below, type: AxiomusApi::Below, max_occurs: 3, optional: true
7
+
8
+ def add_below_element
9
+ new_below = AxiomusApi::Below.new
10
+ below << new_below
11
+ new_below
12
+ end
13
+ end
@@ -1,7 +1,5 @@
1
1
  require_relative '../base'
2
2
 
3
3
  class AxiomusApi::Item < AxiomusApi::Base
4
- xml_element :item
5
-
6
4
  xml_attribute :name, :weight, :quantity, :price
7
5
  end
@@ -0,0 +1,13 @@
1
+ require_relative '../base'
2
+ require_relative '../item/export_item'
3
+
4
+ class AxiomusApi::ExportItems < AxiomusApi::Base
5
+
6
+ xml_field_array :item, type: AxiomusApi::ExportItem
7
+
8
+ def add_item
9
+ new_item = AxiomusApi::ExportItem.new
10
+ item << new_item
11
+ new_item
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ require_relative '../base'
2
+ require_relative '../item/item'
3
+
4
+ class AxiomusApi::Items < AxiomusApi::Base
5
+
6
+ xml_field_array :item, type: AxiomusApi::Item
7
+
8
+ def add_item
9
+ new_item = AxiomusApi::Item.new
10
+ item << new_item
11
+ new_item
12
+ end
13
+
14
+ end
@@ -1,30 +1,23 @@
1
1
  require_relative '../base'
2
2
  require_relative '../services/services'
3
+ require_relative '../items/items'
3
4
 
4
5
  class AxiomusApi::BaseOrder < AxiomusApi::Base
5
6
  xml_element :order
6
7
 
7
- xml_field :contacts, :items
8
+ xml_field :contacts
9
+ xml_field :items, type: AxiomusApi::Items
8
10
  xml_field :description, optional: true
9
11
  xml_attribute :inner_id, :okey, optional: true
10
12
  xml_attribute :name, :places
11
13
  xml_field :services, type: AxiomusApi::Services
12
14
 
13
- def initialize
14
- super
15
- @items = []
16
- end
17
-
18
15
  def total_quantity
19
- @items.inject(0){|sum, it| sum + it.quantity}
16
+ @items.item.inject(0){|sum, it| sum + it.quantity}
20
17
  end
21
18
 
22
19
  def checksum(uid)
23
- Digest::MD5.hexdigest("#{uid}u#{@items.count}#{total_quantity}")
24
- end
25
-
26
- def create_item
27
- AxiomusApi::Item.new
20
+ Digest::MD5.hexdigest("#{uid}u#{@items.item.count}#{total_quantity}")
28
21
  end
29
22
 
30
23
  def self.create_by_mode(mode)
@@ -1,7 +1,9 @@
1
1
  require_relative 'base_order'
2
+ require_relative '../delivset'
2
3
 
3
4
  class AxiomusApi::CarryOrder < AxiomusApi::BaseOrder
4
5
 
5
6
  xml_attribute :office, :incl_deliv_sum, :sms_sender, :sms, optional: true
6
7
  xml_attribute :b_date, :e_date
8
+ xml_field :delivset, optional: true, type: AxiomusApi::Delivset
7
9
  end
@@ -1,5 +1,5 @@
1
1
  require_relative 'base_order'
2
- require_relative '../item/export_item'
2
+ require_relative '../items/export_items'
3
3
  require_relative '../services/export_services'
4
4
 
5
5
  class AxiomusApi::ExportOrder < AxiomusApi::BaseOrder
@@ -7,8 +7,6 @@ class AxiomusApi::ExportOrder < AxiomusApi::BaseOrder
7
7
  xml_attribute :from_mkad, :garden_ring, optional: true
8
8
  xml_attribute :export_quantity, :transit, :d_date, :b_time, :e_time, :address
9
9
  xml_field :services, type: AxiomusApi::ExportServices
10
+ xml_field :items, type: AxiomusApi::ExportItems
10
11
 
11
- def create_item
12
- AxiomusApi::ExportItem.new
13
- end
14
12
  end
@@ -1,8 +1,9 @@
1
1
  require_relative 'base_order'
2
+ require_relative '../delivset'
2
3
 
3
4
  class AxiomusApi::Order < AxiomusApi::BaseOrder
4
5
 
5
6
  xml_attribute :address, :d_date, :b_time, :e_time, :city
6
7
  xml_attribute :incl_deliv_sum, :from_mkad, :garden_ring, :sms_sender, :sms, optional: true
7
-
8
+ xml_field :delivset, optional: true, type: AxiomusApi::Delivset
8
9
  end
@@ -1,15 +1,18 @@
1
1
  require_relative 'base_order'
2
+ require_relative '../items/export_items'
2
3
 
3
4
  class AxiomusApi::SelfExportOrder < AxiomusApi::BaseOrder
4
5
 
5
6
  xml_attribute :car, :d_date, :b_time, :e_time, :quantity
6
7
  xml_field :services, optional: true
8
+ xml_field :items, type: AxiomusApi::ExportItems
7
9
 
8
10
  def initialize
9
11
  super
10
- services = nil
12
+ @services = nil
11
13
  end
12
14
 
13
15
  def services=(val); end
16
+
14
17
  end
15
18
 
@@ -3,11 +3,7 @@ require 'nokogiri'
3
3
  module AxiomusApi::Serializable
4
4
  def to_xml(xml_header = false, tag_name = nil)
5
5
  serializable_fields = self.class.attribute_meta
6
- attribute_fields = serializable_fields.select{|k,v| v[:xml_type] == :attribute}
7
-
8
- attributes = Hash[attribute_fields.map do |k,v|
9
- [v[:xml_name] || k, normalize_axiomus_xml(self.send(k).to_s)]
10
- end].reject{|k,v| v.nil? || v.empty?}
6
+ attributes = extract_attributes(serializable_fields)
11
7
 
12
8
  builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
13
9
  xml.send(tag_name || self.tag_name, attributes) {
@@ -16,37 +12,41 @@ module AxiomusApi::Serializable
16
12
  xml_name = opt[:xml_name] || f
17
13
  xml_type = opt[:xml_type] || :element
18
14
  val = self.send(f)
19
-
20
15
  next if val.nil?
16
+ elements = opt[:array] ? val : [val]
21
17
 
22
- case xml_type
23
- when :element
24
- obj_to_xml(xml, val, xml_name)
25
- when :text
26
- xml.text(val)
18
+ elements.each do |el|
19
+ create_by_type(xml, el, xml_type, xml_name)
27
20
  end
28
21
  end
29
22
  }
30
23
  end
31
24
 
32
- xml = if xml_header
33
- builder.to_xml
34
- else
35
- builder.doc.root.to_xml
36
- end
37
-
25
+ xml = xml_header ? builder.to_xml : builder.doc.root.to_xml
38
26
  normalize_axiomus_xml(xml)
39
27
  end
40
28
 
41
29
  private
42
30
 
31
+ def extract_attributes(serializable_fields)
32
+ attribute_fields = serializable_fields.select{|k,v| v[:xml_type] == :attribute}
33
+ Hash[attribute_fields.map do |k,v|
34
+ [v[:xml_name] || k, normalize_axiomus_xml(self.send(k).to_s)]
35
+ end].reject{|k,v| v.nil? || v.empty?}
36
+ end
37
+
38
+ def create_by_type(xml, val, xml_type, xml_name)
39
+ case xml_type
40
+ when :element
41
+ obj_to_xml(xml, val, xml_name)
42
+ when :text
43
+ xml.text(val)
44
+ end
45
+ end
46
+
43
47
  def obj_to_xml(xml, obj, xml_name = nil)
44
48
  if obj.kind_of?(AxiomusApi::Base)
45
49
  xml << obj.to_xml(false, xml_name)
46
- elsif obj.kind_of?(Array)
47
- xml.send(xml_name) {
48
- obj.each{|el| obj_to_xml(xml, el)}
49
- }
50
50
  else
51
51
  xml.send(xml_name) {
52
52
  xml.text(normalize_axiomus_xml(obj.to_s))
@@ -21,12 +21,34 @@ module AxiomusApi::Validated
21
21
  @validation_errors << "Field #{field} is required"
22
22
  end
23
23
  else
24
- if !(options[:type].nil? || value.is_a?(options[:type]))
25
- @validation_errors << "Field #{field} must be of type #{options[:type]}"
26
- elsif value.respond_to?(:valid?) && !value.valid?
27
- @validation_errors += value.validation_errors.map{|ve| "#{field} -> #{ve}"}
24
+ if options[:array]
25
+ validate_array_field(field, value, options)
26
+ else
27
+ validate_present_field(field, value, options)
28
28
  end
29
29
  end
30
30
  end
31
31
 
32
+ def validate_array_field(field, value, options)
33
+ if value.is_a?(Array)
34
+ if !options[:max_occurs].nil? && (value.count > options[:max_occurs])
35
+ @validation_errors << "Field #{field} can have #{options[:max_occurs]} elements maximum"
36
+ end
37
+
38
+ value.each do |el, i|
39
+ validate_present_field("#{field}[#{i}]", el, options)
40
+ end
41
+ else
42
+ @validation_errors << "Element #{field} must be an array"
43
+ end
44
+ end
45
+
46
+ def validate_present_field(field, value, options)
47
+ if !(options[:type].nil? || value.is_a?(options[:type]))
48
+ @validation_errors << "Field #{field} must be of type #{options[:type]}"
49
+ elsif value.respond_to?(:valid?) && !value.valid?
50
+ @validation_errors += value.validation_errors.map{|ve| "#{field} -> #{ve}"}
51
+ end
52
+ end
53
+
32
54
  end
@@ -1,3 +1,3 @@
1
1
  module AxiomusApi
2
- VERSION = '0.1.2'
2
+ VERSION = '0.2'
3
3
  end
data/spec/factories.rb CHANGED
@@ -13,6 +13,23 @@ FactoryGirl.define do
13
13
  ['yes', 'no'][rand(0..1)]
14
14
  end
15
15
 
16
+ factory :below, class: AxiomusApi::Below do
17
+ below_sum { rand(0.0..300.0)}
18
+ price { rand(100.0..500.0)}
19
+ end
20
+
21
+ factory :delivset, class: AxiomusApi::Delivset do
22
+ return_price {rand(100.0..300.0)}
23
+ above_sum {rand(100.0..1000.0)}
24
+ above_price {rand(100.0..1000.0)}
25
+
26
+ after(:build) do |ds|
27
+ rand(1..3).times do
28
+ ds.below << build(:below)
29
+ end
30
+ end
31
+ end
32
+
16
33
  factory :item, class: AxiomusApi::Item do
17
34
  name {"Product &quot;'\"Awesome\"'&quot; #{rand(1..1000)}"}
18
35
  weight {rand(0.1..10.0)}
@@ -24,6 +41,18 @@ FactoryGirl.define do
24
41
  oid {rand(10000..99999)}
25
42
  end
26
43
 
44
+ factory :items, class: AxiomusApi::Items do
45
+ after(:build) do |items|
46
+ items.item << build(:item)
47
+ end
48
+ end
49
+
50
+ factory :export_items, class: AxiomusApi::ExportItems do
51
+ after(:build) do |items|
52
+ items.item << build(:export_item)
53
+ end
54
+ end
55
+
27
56
  factory :services, class: AxiomusApi::Services do
28
57
  cash {generate :boolean}
29
58
  cheque {generate :boolean}
@@ -63,11 +92,7 @@ FactoryGirl.define do
63
92
  places {rand(1..2)}
64
93
  services {build(:services)}
65
94
 
66
- after(:build) do |order|
67
- rand(1..10).times do
68
- order.items << build(:item)
69
- end
70
- end
95
+ items {build(:items)}
71
96
  end
72
97
 
73
98
  factory :post_address, class: AxiomusApi::PostAddress do
@@ -115,6 +140,7 @@ FactoryGirl.define do
115
140
  city 0
116
141
  garden_ring {generate :boolean}
117
142
  from_mkad {rand(1..2) == 2 && garden_ring !='yes' && city > 0 ? rand(1..40) : nil}
143
+ delivset nil
118
144
 
119
145
  trait :incl_deliv_sum do
120
146
  incl_deliv_sum rand(100.0..200.00)
@@ -123,6 +149,10 @@ FactoryGirl.define do
123
149
  trait :with_empty_address do
124
150
  address ''
125
151
  end
152
+
153
+ trait :with_delivset do
154
+ delivset {build(:delivset)}
155
+ end
126
156
  end
127
157
 
128
158
  factory :carry_order, class: AxiomusApi::CarryOrder, parent: :base_order do
@@ -130,6 +160,11 @@ FactoryGirl.define do
130
160
  office {[0, 1, nil][rand(0..2)]}
131
161
  b_date {Time.now + rand(5..10)*24*60*60}
132
162
  e_date {b_date + 7*24*60*60}
163
+ delivset nil
164
+
165
+ trait :with_delivset do
166
+ delivset {build(:delivset)}
167
+ end
133
168
  end
134
169
 
135
170
  factory :export_order, class: AxiomusApi::ExportOrder, parent: :base_order do
@@ -142,13 +177,7 @@ FactoryGirl.define do
142
177
  address 'Москва, Живописная, д4 корп1, кв 16'
143
178
  garden_ring {generate :boolean}
144
179
  from_mkad {garden_ring == 'yes' ? nil : rand(1..40)}
145
-
146
- after(:build) do |order|
147
- order.items = []
148
- rand(1..10).times do
149
- order.items << build(:export_item)
150
- end
151
- end
180
+ items {build(:export_items)}
152
181
  end
153
182
 
154
183
  factory :self_export_order, class: AxiomusApi::SelfExportOrder, parent: :base_order do
@@ -157,13 +186,7 @@ FactoryGirl.define do
157
186
  b_time {rand(10..19)}
158
187
  e_time {b_time + 3}
159
188
  quantity {rand(1..3)}
160
-
161
- after(:build) do |order|
162
- order.items = []
163
- rand(1..10).times do
164
- order.items << build(:export_item)
165
- end
166
- end
189
+ items {build(:export_items)}
167
190
  end
168
191
 
169
192
  factory :post_order, class: AxiomusApi::PostOrder, parent: :base_order do
@@ -1,4 +1,4 @@
1
- require_relative '../../spec_helper'
1
+ require_relative '../../../spec_helper'
2
2
 
3
3
  describe 'AxiomusApi::Sesion' do
4
4
  before(:all) do
@@ -24,6 +24,17 @@ describe 'AxiomusApi::Sesion' do
24
24
  expect(z.code).to eq 0
25
25
  z = @session.status(okey)
26
26
  end
27
+
28
+ it 'should support #delivset field' do
29
+ order = build(:order, :with_delivset)
30
+ z = @session.new(order)
31
+ expect(z.code).to eq 0
32
+ okey = z.okey
33
+ order.okey = okey
34
+ z = @session.update(order)
35
+ expect(z.code).to eq 0
36
+ z = @session.status(okey)
37
+ end
27
38
  end
28
39
 
29
40
  describe '#new_carry, #update_carry' do
@@ -37,6 +48,17 @@ describe 'AxiomusApi::Sesion' do
37
48
  expect(z.code).to eq 0
38
49
  z = @session.status(okey)
39
50
  end
51
+
52
+ it 'should support #delivset field' do
53
+ carry_order = build(:carry_order, :with_delivset)
54
+ z = @session.new_carry(carry_order)
55
+ expect(z.code).to eq 0
56
+ okey = z.okey
57
+ carry_order.okey = okey
58
+ z = @session.update_carry(carry_order)
59
+ expect(z.code).to eq 0
60
+ z = @session.status(okey)
61
+ end
40
62
  end
41
63
 
42
64
  describe '#new_export, #update_export' do
@@ -0,0 +1,12 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ describe 'AxiomusApi::Delivset' do
4
+
5
+ it 'should create below element' do
6
+ delivset = build(:delivset)
7
+
8
+ below = delivset.add_below_element
9
+ end
10
+
11
+
12
+ end
@@ -1,4 +1,4 @@
1
- require_relative '../../spec_helper'
1
+ require_relative '../../../spec_helper'
2
2
 
3
3
  describe 'AxiomusApi::BaseOrder' do
4
4
 
@@ -11,9 +11,11 @@ describe 'AxiomusApi::BaseOrder' do
11
11
  it 'should create item' do
12
12
  ORDER_MODES.each do |mode|
13
13
  order = AxiomusApi::BaseOrder.create_by_mode(mode)
14
- item = order.create_item
14
+ item = order.items.add_item
15
+ item.quantity = 21
16
+ expect(order.items.item.first.quantity).to eq(21)
15
17
 
16
- if [:new_export, :update_export].include?(mode)
18
+ if [:new_export, :update_export, :new_self_export, :update_self_export].include?(mode)
17
19
  expect(item.is_a?(AxiomusApi::ExportItem)).to be_true
18
20
  else
19
21
  expect(item.is_a?(AxiomusApi::Item)).to be_true
@@ -33,4 +33,40 @@ describe 'AxiomusApi::Validated' do
33
33
  expect(order.validation_errors).to have(0).items
34
34
  end
35
35
 
36
+ it 'should validate array items' do
37
+ order = build(:order)
38
+ order.delivset = AxiomusApi::Delivset.new
39
+ order.delivset.below = 'Some arbitrary string'
40
+ order.delivset.return_price = 12
41
+ order.delivset.above_sum = 12
42
+ order.delivset.above_price = 12
43
+ expect(order).not_to be_valid
44
+ expect(order.validation_errors).to have(1).items
45
+ end
46
+
47
+ it 'should validate max occurs' do
48
+ order = build(:order)
49
+ order.delivset = AxiomusApi::Delivset.new
50
+ order.delivset.return_price = 12
51
+ order.delivset.above_sum = 12
52
+ order.delivset.above_price = 12
53
+
54
+ 4.times do
55
+ order.delivset.below << build(:below)
56
+ end
57
+
58
+ expect(order).not_to be_valid
59
+ expect(order.validation_errors).to have(1).items
60
+ end
61
+
62
+ it 'should validate optional arrays' do
63
+ order = build(:order)
64
+ order.delivset = AxiomusApi::Delivset.new
65
+ order.delivset.return_price = 12
66
+ order.delivset.above_sum = 12
67
+ order.delivset.above_price = 12
68
+ order.delivset.below = []
69
+ expect(order).to be_valid
70
+ end
71
+
36
72
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: axiomus_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: '0.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kinderly LTD
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-01 00:00:00.000000000 Z
11
+ date: 2014-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -49,9 +49,13 @@ files:
49
49
  - lib/axiomus_api/address/region_pickup_address.rb
50
50
  - lib/axiomus_api/base.rb
51
51
  - lib/axiomus_api/base_auth.rb
52
+ - lib/axiomus_api/below.rb
53
+ - lib/axiomus_api/delivset.rb
52
54
  - lib/axiomus_api/errors.rb
53
55
  - lib/axiomus_api/item/export_item.rb
54
56
  - lib/axiomus_api/item/item.rb
57
+ - lib/axiomus_api/items/export_items.rb
58
+ - lib/axiomus_api/items/items.rb
55
59
  - lib/axiomus_api/order/base_order.rb
56
60
  - lib/axiomus_api/order/carry_order.rb
57
61
  - lib/axiomus_api/order/dpd_order.rb
@@ -79,9 +83,10 @@ files:
79
83
  - lib/axiomus_api/validated.rb
80
84
  - lib/axiomus_api/version.rb
81
85
  - spec/factories.rb
82
- - spec/integration/axiomus_api/session_spec.rb
83
- - spec/lib/axiomus_api/base_order_spec.rb
86
+ - spec/integration/lib/axiomus_api/session_spec.rb
84
87
  - spec/lib/axiomus_api/base_spec.rb
88
+ - spec/lib/axiomus_api/delivest_spec.rb
89
+ - spec/lib/axiomus_api/order/base_order_spec.rb
85
90
  - spec/lib/axiomus_api/serializable_spec.rb
86
91
  - spec/lib/axiomus_api/session_spec.rb
87
92
  - spec/lib/axiomus_api/validated_spec.rb