Sha256: 507ecd4761d8c376d5f2158f714e35d3d4a32c00840eea299d1cce2358f89588

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

require 'gates_of_heaven'
require 'active_model'

class User
  include ActiveModel::Validations
  attr_accessor :password
end

class BasicUser < User
  validates :password, gates_of_heaven: true
end

module ActiveModel
  module Validations
   describe GatesOfHeavenValidator do
     describe 'validations' do
       subject { BasicUser.new }

       context 'which are not good enough for heaven' do
         let(:too_short) { 'foo' }
         let(:no_number) { 'password' }

         it 'adds an error to the model record' do
           subject.password = too_short
           subject.valid?
           expect(subject.errors[:password]).to_not be_empty
         end

         it 'adds an error to the model record' do
           subject.password = no_number
           subject.valid?
           expect(subject.errors[:password]).to_not be_empty
         end
       end

       context 'which are good enough for heaven' do
         before do
           subject.password = 'password22'
           subject.valid?
         end

         it 'adds an error to the model record' do
           expect(subject.errors[:password]).to be_empty
         end
       end
     end
   end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gates_of_heaven-0.0.2 spec/validation/gates_of_heaven_validator_spec.rb
gates_of_heaven-0.0.1 spec/validation/gates_of_heaven_validator_spec.rb