Sha256: ab5bf278bfd007b9e1f1f972e7da8f782e2bce37324c8e64228f305d2f12726d

Contents?: true

Size: 1.26 KB

Versions: 14

Compression:

Stored size: 1.26 KB

Contents

require 'spec_helper'

try_spec do

  require './spec/fixtures/person'

  describe Ardm::Fixtures::Person do
    before do
      @resource  = Ardm::Fixtures::Person.create!(:password => 'Ardm R0cks!')
      Ardm::Fixtures::Person.create!(:password => 'password1')

      @people = Ardm::Fixtures::Person.all
      @resource.reload
    end

    it 'persists the password on initial save' do
      expect(@resource.password).to       eq('Ardm R0cks!')
      expect(@people.last.password).to eq('password1')
    end

    it 'recalculates password hash on attribute update' do
      @resource.attribute_set(:password, 'bcryptic obscure')
      @resource.save

      @resource.reload
      expect(@resource.password).to     eq('bcryptic obscure')
      expect(@resource.password).not_to eq('Ardm R0cks!')
    end

    it 'does not change password value on reload' do
      resource = @people.last
      original = resource.password.to_s
      resource.reload
      expect(resource.password.to_s).to eq(original)
    end

    it 'uses cost of BCrypt::Engine::DEFAULT_COST' do
      expect(@resource.password.cost).to eq(BCrypt::Engine::DEFAULT_COST)
    end

    it 'allows Bcrypt::Password#hash to be an Integer' do
      expect(@resource.password.hash).to be_kind_of(Integer)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ardm-0.4.0.ar427 spec/integration/bcrypt_hash_spec.rb
ardm-0.4.0 spec/integration/bcrypt_hash_spec.rb
ardm-0.3.2 spec/integration/bcrypt_hash_spec.rb
ardm-0.3.1 spec/integration/bcrypt_hash_spec.rb
ardm-0.3.0 spec/integration/bcrypt_hash_spec.rb
ardm-0.2.7 spec/integration/bcrypt_hash_spec.rb
ardm-0.2.6 spec/integration/bcrypt_hash_spec.rb
ardm-0.2.5 spec/integration/bcrypt_hash_spec.rb
ardm-0.2.4 spec/integration/bcrypt_hash_spec.rb
ardm-0.2.3 spec/integration/bcrypt_hash_spec.rb
ardm-0.2.2 spec/integration/bcrypt_hash_spec.rb
ardm-0.2.1 spec/integration/bcrypt_hash_spec.rb
ardm-0.2.0 spec/integration/bcrypt_hash_spec.rb
ardm-0.1.0 spec/integration/bcrypt_hash_spec.rb