Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'test_helper'
- class UserTest < ActiveSupport::TestCase
- test 'nome é obrigatório' do
- user = User.create(name: '')
- assert user.errors, :name
- end
- test 'associação com empresa é obrigatória' do
- user = User.create
- assert user.errors, :company_id
- end
- test 'password (hash e salt) são obrigatório' do
- user = User.create()
- assert_includes user.errors, :password_hash
- assert_includes user.errors, :password_salt
- end
- test 'password (hash e salt) são preenchidos com o atributo password' do
- user = User.create(password: 'testando pass')
- assert_not_includes user.errors, :password_hash
- assert_not_includes user.errors, :password_salt
- end
- test 'admin é obrigatório' do
- user = User.create(admin: nil)
- assert_includes user.errors, :admin
- user = User.create(admin: false) # "presence: true" da erro com valores false
- assert_not_includes user.errors, :admin
- end
- test 'inactive é obrigatório' do
- user = User.create(inactive: nil)
- assert_includes user.errors, :inactive
- user = User.create(inactive: false) # "presence: true" da erro com valores false
- assert_not_includes user.errors, :inactive
- end
- test "Deve ser default atributo inactive como false" do
- assert_not User.new.inactive?
- end
- test "Deve ser default atributo admin como false" do
- assert_not User.new.admin?
- end
- %w[
- 'invali d'
- 'inv@lid'
- 'i-nvalid'
- 'in.valid'
- 'in_valid'
- 'in,valid'
- ].each do |login|
- test "é necessario um login valido (#{login})" do
- user = User.create(login: login)
- assert user.errors[:login].any?
- end
- end
- test 'login é unico' do
- @user = User.create(login: 'administrador', admin: true, name: 'Teste', company_id: 1, password: '123456')
- @user2 = User.create(login: 'administrador', admin: true, name: 'Teste', company_id: 1, password: '123456')
- assert_includes @user2.errors, :login
- end
- test 'login é unico case-sensitive' do
- @user = User.create(login: 'mandachuva', admin: true, name: 'Teste', company_id: 1, password: '123456')
- @user2 = User.create(login: 'MANDACHUVA', admin: true, name: 'Teste', company_id: 1, password: '123456')
- assert_includes @user2.errors, :login
- end
- test "Testando escopo de ativos" do
- assert_difference 'User.active.size', -1 do
- users(:user_one).update_attribute :inactive, true
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement