Sha256: ca20730c0f69c64fd7476b8ffbe72c80dced2f6485a5b21608a4cb3b31fbe6be

Contents?: true

Size: 1.87 KB

Versions: 3

Compression:

Stored size: 1.87 KB

Contents

ENV['RACK_ENV'] = 'test'

require './spec'
require 'rspec'
require 'rack/test'

describe 'App' do
  def app
    Sinatra::Application
  end

  it 'creates an user' do
    username = 'Gennaro'
    email    = 'gennaro@bullo.pk'
    password = 'sonopropriounbullo!'
    permission_level = User.user

    User.exists?(username).should be_false
    user = User.signup username, email, password, permission_level
    user.errors.should be_empty
    user.guest?.should be_false
    user.user?.should  be_true
    User.exists?(username).should be_true

    user = User.signup username, email, password, permission_level
    user.errors.should_not be_empty
  end

  it 'logs in a user' do
    username = 'Gennaro'
    password = 'sonopropriounbullo!'

    User.exists?(username).should be_true
    User.login(username, password).should be_true
    user = User.get username
    user.session.should have(29).chars
  end

  it 'logs out a user' do
    username = 'Gennaro'

    user = User.get username
    user.session.should have(29).chars
    user.logout
    user.session.should be_empty
  end

  it 'recovers lost password' do
    username     = 'Gennaro'
    new_password = 'sonounnuovobullo!'

    User.login(username, new_password).should be_false

    passcode = User.lost_password username
    passcode.should_not be_false
    passcode.should have(29).chars

    recovery = User.password_recovery username, passcode, new_password
    recovery.should be_true

    User.login(username, new_password).should be_true
  end

  it 'set a new password' do
    username      = 'Gennaro'
    curr_password = 'sonounnuovobullo!'
    password      = 'sonopropriounbullo!'

    User.login(username, curr_password).should be_true
    User.new_password(username, curr_password, password).should be_true
    User.login(username, password).should be_true
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gennaro-0.3.1 templates/authentication/spec/user_spec.rb
gennaro-0.3 templates/authentication/spec/user_spec.rb
gennaro-0.2.1 templates/authentication/spec/user_spec.rb