Sha256: 975ea8974d5a6ce9d21ad30fd656c3951f6dd0183af33c9b0bc28724a0e6fe39

Contents?: true

Size: 904 Bytes

Versions: 2

Compression:

Stored size: 904 Bytes

Contents

require 'test_helper'

class UsersController
  include ContextValidations::Controller

  def create
    validations
  end

  def other_create
    validations(:create)
  end

  def update
    validations
  end

  def base_validations
    validates :first_name, :presence => true
  end

  def create_validations
    validates :password, :presence => true
  end
end

describe 'Controller' do
  before do
    @controller = UsersController.new
  end

  if RUBY_VERSION >= '2'
    it 'combines base and create validations for create action, context is implied' do
      @controller.create.length.must_equal 2
    end
  end

  it 'combines base and create validations for other create action, context is forced' do
    @controller.other_create.length.must_equal 2
  end

  it 'uses base validations when context validations are not set for update action' do
    @controller.update.length.must_equal 1
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
context_validations-0.0.2 test/controller_test.rb
context_validations-0.0.1 test/controller_test.rb