ruby_omx 0.0.12 → 0.0.13
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/ruby_omx/base.rb
    CHANGED
    
    
| @@ -6,20 +6,21 @@ module RubyOmx | |
| 6 6 | 
             
                  return super unless a.present? # bail if no array of options has been given
         | 
| 7 7 | 
             
                  http_biz_id = a.delete(:http_biz_id)
         | 
| 8 8 | 
             
                  udi_auth_token = a.delete(:udi_auth_token)
         | 
| 9 | 
            -
             | 
| 10 | 
            -
                  
         | 
| 11 | 
            -
            		  required_fields = [:order_number]
         | 
| 12 | 
            -
            		  raise MissingOrderOptions if required_fields.any? { |option| a[option].nil? }
         | 
| 9 | 
            +
                        
         | 
| 10 | 
            +
                  raise MissingOrderOptions if a[:order_number].nil? && (a[:store_code].nil? || a[:order_id].nil?)
         | 
| 13 11 | 
             
                  super
         | 
| 14 | 
            -
                  self.version = a[:version] ||= ' | 
| 12 | 
            +
                  self.version = a[:version] ||= '2.00'
         | 
| 15 13 |  | 
| 16 | 
            -
                  self.udi_parameters = [ | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 14 | 
            +
                  self.udi_parameters = []
         | 
| 15 | 
            +
                  self.udi_parameters << RubyOmx::UDIParameter.new({:key=>'UDIAuthToken', :value=>udi_auth_token})
         | 
| 16 | 
            +
                  self.udi_parameters << RubyOmx::UDIParameter.new({:key=>'HTTPBizID', :value=>http_biz_id})
         | 
| 17 | 
            +
                  self.udi_parameters << RubyOmx::UDIParameter.new({:key=>'OrderNumber', :value=>a[:order_number]}) if a[:order_number]
         | 
| 18 | 
            +
                  self.udi_parameters << RubyOmx::UDIParameter.new({:key=>'OrderId', :value=>a[:order_id]}) if a[:order_id]
         | 
| 19 | 
            +
                  self.udi_parameters << RubyOmx::UDIParameter.new({:key=>'StoreCode', :value=>a[:store_code]}) if a[:store_code]
         | 
| 20 | 
            +
                  self.udi_parameters << RubyOmx::UDIParameter.new({:key=>'level', :value=>a[:level] ||=2 })
         | 
| 20 21 | 
             
                end
         | 
| 21 22 |  | 
| 22 | 
            -
                attr_accessor :order_number, :raw_xml
         | 
| 23 | 
            +
                attr_accessor :order_number, :order_id, :store_code, :raw_xml
         | 
| 23 24 |  | 
| 24 25 | 
             
                xml_name "OrderInformationRequest"
         | 
| 25 26 | 
             
                xml_accessor :version, :from => '@version'
         | 
| @@ -6,7 +6,7 @@ module RubyOmx | |
| 6 6 | 
             
                xml_name "LineStatus"
         | 
| 7 7 | 
             
                #<LineStatus date="2/9/2006 2:47:00 PM" text="OK">40</LineStatus>
         | 
| 8 8 | 
             
                xml_reader :text, :from => '@text'  # C/L means cancelled, OK with a date means processing
         | 
| 9 | 
            -
                xml_reader :date, :from =>  | 
| 9 | 
            +
                xml_reader :date, :from => "@date" # reverting to string as date is invalid, cancellation date if cancelled, processing date if processing
         | 
| 10 10 | 
             
                xml_reader :value, :from => :content, :as=>Integer
         | 
| 11 11 | 
             
              end
         | 
| 12 12 |  | 
| @@ -14,6 +14,8 @@ module RubyOmx | |
| 14 14 | 
             
                xml_name "OrderHeader"
         | 
| 15 15 | 
             
                xml_reader :order_id
         | 
| 16 16 | 
             
                xml_reader :order_number
         | 
| 17 | 
            +
                xml_reader :order_status_code, :from => '@statusCode', :in=>'OrderStatus'
         | 
| 18 | 
            +
                xml_reader :order_status_date, :as=>DateTime
         | 
| 17 19 | 
             
                xml_reader :order_date, :as=>DateTime
         | 
| 18 20 | 
             
              end
         | 
| 19 21 |  | 
| @@ -47,6 +49,8 @@ module RubyOmx | |
| 47 49 |  | 
| 48 50 | 
             
              class OrderInformationResponse < Response
         | 
| 49 51 | 
             
                xml_name "OrderInformationResponse"
         | 
| 52 | 
            +
                xml_reader :success
         | 
| 53 | 
            +
                
         | 
| 50 54 | 
             
                xml_reader :order_header, :as=>OrderInfoOrderHeader
         | 
| 51 55 | 
             
                #xml_reader :shipping_information, :as=>OrderInfoShippingInfo
         | 
| 52 56 | 
             
                xml_reader :line_items, :as => [OrderInfoLineItem], :in=>'OrderDetail'
         | 
    
        data/lib/ruby_omx/version.rb
    CHANGED
    
    
    
        data/test/orders_test.rb
    CHANGED
    
    | @@ -184,26 +184,37 @@ class OrdersTest < MiniTest::Unit::TestCase | |
| 184 184 | 
             
              end
         | 
| 185 185 |  | 
| 186 186 | 
             
              def test_send_info_request
         | 
| 187 | 
            -
              	@connection.stubs(:post).returns(xml_for('OrderInformationResponse( | 
| 187 | 
            +
              	@connection.stubs(:post).returns(xml_for('OrderInformationResponse(2.00)',200))
         | 
| 188 188 | 
             
            		response = @connection.send_info_request({ :order_number => '16651' })
         | 
| 189 189 | 
             
            		assert_kind_of OrderInformationResponse, response
         | 
| 190 | 
            -
            		assert !response.accessors.include?("code")
         | 
| 191 190 |  | 
| 192 | 
            -
                 | 
| 191 | 
            +
                assert_nil response.ship_date
         | 
| 193 192 | 
             
                assert_equal "", response.tracking_number
         | 
| 194 | 
            -
             | 
| 195 | 
            -
                 | 
| 196 | 
            -
                assert_equal  | 
| 197 | 
            -
                assert_equal ' | 
| 198 | 
            -
                assert_equal  | 
| 199 | 
            -
                assert_equal  | 
| 200 | 
            -
             | 
| 201 | 
            -
                 | 
| 193 | 
            +
             | 
| 194 | 
            +
                assert_nil response.order_header.order_id    
         | 
| 195 | 
            +
                assert_equal '24603', response.order_header.order_number
         | 
| 196 | 
            +
                assert_equal DateTime.parse('2003-04-01 22:15:00'), response.order_header.order_date
         | 
| 197 | 
            +
                assert_equal DateTime.parse('2010-05-31 05:36:00'), response.order_header.order_status_date
         | 
| 198 | 
            +
                assert_equal '4', response.order_header.order_status_code
         | 
| 199 | 
            +
             | 
| 200 | 
            +
                
         | 
| 201 | 
            +
                assert_equal 2, response.line_items.length
         | 
| 202 | 
            +
                assert_equal '24603-0', response.line_items[0].shipment_number
         | 
| 203 | 
            +
                assert_equal 10, response.line_items[0].line_cogs
         | 
| 204 | 
            +
                assert_equal 10, response.line_items[0].unit_cogs
         | 
| 205 | 
            +
             | 
| 206 | 
            +
                assert_equal 'APPLE', response.line_items[0].warehouse_reference
         | 
| 207 | 
            +
                assert_equal 'APPLE', response.line_items[0].item_code
         | 
| 208 | 
            +
                assert_equal 'APPLE', response.line_items[0].supplier_item_code
         | 
| 209 | 
            +
                
         | 
| 202 210 | 
             
                assert_instance_of OrderInfoLineStatus, response.line_items[0].line_status
         | 
| 203 211 | 
             
                assert_equal "OK", response.line_items[0].line_status.text
         | 
| 204 212 | 
             
                assert_equal 40, response.line_items[0].line_status.value  
         | 
| 205 | 
            -
                assert_equal  | 
| 213 | 
            +
                assert_equal '5/31/2010 5:36:00 AM', response.line_items[0].line_status.date
         | 
| 206 214 | 
             
            		assert_kind_of Hash, response.as_hash
         | 
| 215 | 
            +
            		
         | 
| 216 | 
            +
            		response = @connection.send_info_request({ :order_id=> 'AZ-43253-234', :store_code=>'XX01' })
         | 
| 217 | 
            +
            		assert_kind_of OrderInformationResponse, response
         | 
| 207 218 | 
             
              end
         | 
| 208 219 |  | 
| 209 220 | 
             
              def test_send_smart_report_request
         |