Sha256: 089b66cb7a367360e2aba72b6e3eb67f1d02f954cade39e5bae172e94910676d

Contents?: true

Size: 1.41 KB

Versions: 4

Compression:

Stored size: 1.41 KB

Contents

require "test_helper"
# rake test TEST=test/business_central/object/validation_test.rb

class BusinessCentral::Object::ValidationTest < Minitest::Test
  def test_validation_required
    validation_rules = {
      name: {
        required: true
      }
    }
    object_params = {
      name: ''
    }
    assert_raises BusinessCentral::InvalidObjectException do
      BusinessCentral::Object::Validation.new(validation_rules, object_params).valid?
    end
  end

  def test_validation_maximum_length
    validation_rules = {
      name: {
        maximum_length: 5
      }
    }
    object_params = {
      name: '123456'
    }
    assert_raises BusinessCentral::InvalidObjectException do
      BusinessCentral::Object::Validation.new(validation_rules, object_params).valid?
    end
  end

  def test_validation_inclusive_value
    validation_rules = {
      type: {
        inclusion_of: ['1', '2', '3']
      }
    }
    object_params = {
      type: '4'
    }
    assert_raises BusinessCentral::InvalidObjectException do
      BusinessCentral::Object::Validation.new(validation_rules, object_params).valid?
    end
  end

  def test_validation_date
    validation_rules = {
      date_due: {
        date: true
      }
    }
    object_params = {
      date_due: ''
    }
    assert_raises BusinessCentral::InvalidObjectException do
      BusinessCentral::Object::Validation.new(validation_rules, object_params).valid?
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
business-central-1.0.3 test/business_central/object/validation_test.rb
business-central-1.0.2 test/business_central/object/validation_test.rb
business-central-1.0.1 test/business_central/object/validation_test.rb
business-central-1.0.0 test/business_central/object/validation_test.rb