portor_test.rb 1.09 KB
# frozen_string_literal: true

require 'test_helper'

class PorTorTest < Minitest::Test
  extend Minitest::Spec::DSL

  before { VCR.insert_cassette name }
  after { VCR.eject_cassette }

  let(:username) { ENV['SYSPRO_USERNAME'] }
  let(:password) { ENV['SYSPRO_PASSWORD'] }
  let(:company) { ENV['SYSPRO_COMPANY'] }
  let(:company_password) { '' }
  let(:user_id) do
    Syspro::Logon.logon(username, password, company, company_password)
  end

  def test_portor
    receipt_intero = Syspro::BusinessObjects::Models::ReceiptInterospection.new
    receipt_intero.purchase_order = 'Z01308'
    receipt_intero.warehouse = 'P0'
    receipt_intero.stock_code = '8801'
    receipt_intero.quantity = 0.01
    receipt_intero.delivery_note = 'DELIVER NOTE HERE-WL'
    receipt_intero.certificate = '8/45-3'
    receipt_intero.lot = '7097505'

    req = Syspro::BusinessObjects::PorTor.new
    req.transaction_date = Time.now.strftime('%Y-%m-%d')
    req.ignore_warnings = 'N'

    req.receipt_interospections = [receipt_intero]
    resp = req.call(user_id.guid)

    assert_equal resp[:error_numbers].length, 0
  end
end