Sha256: fa93f38dbae680cc4bd695bf7facfbf29acb47f14789fe254adde0eb4f6c19af

Contents?: true

Size: 1023 Bytes

Versions: 16

Compression:

Stored size: 1023 Bytes

Contents

require_relative 'helper'
require 'swift/validations'

describe 'validations' do
  before do
    @user = Class.new(Swift::Scheme) do
      store     :users
      attribute :id,   Swift::Type::Integer, serial: true, key: true
      attribute :name, Swift::Type::String

      validations do |errors|
        errors << [:name, 'is blank'] if name.to_s.empty?
      end
    end
  end

  describe 'validate' do
    it 'returns errors' do
      assert_kind_of Swift::Errors, @user.new.validate
    end

    it 'has errors when invalid' do
      assert !@user.new.validate.empty?
    end

    it 'has no errors when valid' do
      assert @user.new(name: 'Apple Arthurton').validate.empty?
    end
  end

  describe 'valid?' do
    it 'fails when invalid' do
      assert !@user.new.valid?
    end

    it 'passes when valid' do
      assert @user.new(name: 'Apple Arthurton').valid?
    end
  end

  describe 'errors' do
    it 'has relation' do
      assert_kind_of Swift::Scheme, @user.new.validate.relation
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
swift-0.14.0 test/test_validations.rb
swift-0.13.0 test/test_validations.rb
swift-0.12.0 test/test_validations.rb
swift-0.11.0 test/test_validations.rb
swift-0.10.0 test/test_validations.rb
swift-0.9.1 test/test_validations.rb
swift-0.9.0 test/test_validations.rb
swift-0.8.1 test/test_validations.rb
swift-0.8.0 test/test_validations.rb
swift-0.7.2 test/test_validations.rb
swift-0.7.1 test/test_validations.rb
swift-0.7.0 test/test_validations.rb
swift-0.6.1 test/test_validations.rb
swift-0.6.0 test/test_validations.rb
swift-0.5.1 test/test_validations.rb
swift-0.5.0 test/test_validations.rb