Sha256: 96d9e227894dbd554cbda3bca7d9e606afd16de355e4e04b3d55223cfc7a0c15

Contents?: true

Size: 1.86 KB

Versions: 5

Compression:

Stored size: 1.86 KB

Contents

require 'spec_helper'

describe NetSuite::Actions::Update do
  before(:all) { savon.mock! }
  after(:all) { savon.unmock! }

  context 'Customer' do
    let(:customer) { NetSuite::Records::Customer.new }
    let(:attributes) { { :entity_id => 'Shutter Fly', :company_name => 'Shutter Fly, Inc.' } }

    before do
      savon.expects(:update).with(:message => {
        'platformMsgs:record' => {
          :content! => {
            'listRel:entityId'    => 'Shutter Fly',
            'listRel:companyName' => 'Shutter Fly, Inc.',
          },
          '@xsi:type' => 'listRel:Customer'
        },
      }).returns(File.read('spec/support/fixtures/update/update_customer.xml'))
    end

    it 'makes a valid request to the NetSuite API' do
      NetSuite::Actions::Update.call(NetSuite::Records::Customer, attributes)
    end

    it 'returns a valid Response object' do
      response = NetSuite::Actions::Update.call(NetSuite::Records::Customer, attributes)
      response.should be_kind_of(NetSuite::Response)
      response.should be_success
    end
  end

  context 'Invoice' do
    let(:invoice) { NetSuite::Records::Invoice.new }
    let(:attributes) { { :source => 'Google', :total => 100.0 } }

    before do
      savon.expects(:update).with(:message => {
        'platformMsgs:record' => {
          :content! => {
            'tranSales:source' => 'Google',
          },
          '@xsi:type' => 'tranSales:Invoice'
        },
      }).returns(File.read('spec/support/fixtures/update/update_invoice.xml'))
    end

    it 'makes a valid request to the NetSuite API' do
      NetSuite::Actions::Update.call(NetSuite::Records::Invoice, attributes)
    end

    it 'returns a valid Response object' do
      response = NetSuite::Actions::Update.call(NetSuite::Records::Invoice, attributes)
      response.should be_kind_of(NetSuite::Response)
      response.should be_success
    end
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
netsuite-0.2.4 spec/netsuite/actions/update_spec.rb
netsuite-0.2.3 spec/netsuite/actions/update_spec.rb
netsuite-0.2.2 spec/netsuite/actions/update_spec.rb
netsuite-0.2.1 spec/netsuite/actions/update_spec.rb
netsuite-0.2.0 spec/netsuite/actions/update_spec.rb