Sha256: 793aa2119c2d3aa23bb2303c60cb648a140fec0e4ceb04ed846a3de2bd8587d4

Contents?: true

Size: 1.26 KB

Versions: 8

Compression:

Stored size: 1.26 KB

Contents

# -*- encoding : utf-8 -*-

describe Card::Set::Right::Password do

  before :each do
    @account = Card::Auth[ 'joe@user.com' ]
  end

  describe '#update_attributes' do
    it 'should encrypt password' do
      @account.password_card.update_attributes! content: 'new password'
      expect(@account.password).not_to eq('new password')
      authenticated = Card::Auth.authenticate 'joe@user.com', 'new password'
      assert_equal @account, authenticated
    end

    it 'should validate password' do
      password_card = @account.password_card
      password_card.update_attributes content: '2b'
      expect(password_card.errors[:password]).not_to be_empty
    end

    context 'blank password' do
      it "shouldn't change the password" do
        acct = @account
        original_pw = acct.password
        expect(original_pw.size).to be > 10
        pw_card = acct.password_card
        pw_card.content = ''
        pw_card.save
        expect(original_pw).to eq(pw_card.refresh(force=true).content)
      end

      it "shouldn't break email editing" do
        @account.update_attributes! subcards: {'+*password'=>'', '+*email'=>'joe2@user.com'}
        expect(@account.email).to eq('joe2@user.com')
        expect(@account.password).not_to be_empty
      end
    end
  end



end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
card-1.17.4 mod/05_standard/spec/set/right/password_spec.rb
card-1.17.3 mod/05_standard/spec/set/right/password_spec.rb
card-1.17.2 mod/05_standard/spec/set/right/password_spec.rb
card-1.17.1 mod/05_standard/spec/set/right/password_spec.rb
card-1.17.0 mod/05_standard/spec/set/right/password_spec.rb
card-1.16.15 mod/05_standard/spec/set/right/password_spec.rb
card-1.16.14 mod/05_standard/spec/set/right/password_spec.rb
card-1.16.13 mod/05_standard/spec/set/right/password_spec.rb