Advertisement
Guest User

Untitled

a guest
Apr 20th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. require 'test_helper'
  2.  
  3. class UserTest < ActiveSupport::TestCase
  4. test 'nome é obrigatório' do
  5. user = User.create(name: '')
  6. assert user.errors, :name
  7. end
  8.  
  9. test 'associação com empresa é obrigatória' do
  10. user = User.create
  11. assert user.errors, :company_id
  12. end
  13.  
  14. test 'password (hash e salt) são obrigatório' do
  15. user = User.create()
  16. assert_includes user.errors, :password_hash
  17. assert_includes user.errors, :password_salt
  18. end
  19.  
  20. test 'password (hash e salt) são preenchidos com o atributo password' do
  21. user = User.create(password: 'testando pass')
  22. assert_not_includes user.errors, :password_hash
  23. assert_not_includes user.errors, :password_salt
  24. end
  25.  
  26. test 'admin é obrigatório' do
  27. user = User.create(admin: nil)
  28. assert_includes user.errors, :admin
  29.  
  30. user = User.create(admin: false) # "presence: true" da erro com valores false
  31. assert_not_includes user.errors, :admin
  32. end
  33.  
  34. test 'inactive é obrigatório' do
  35. user = User.create(inactive: nil)
  36. assert_includes user.errors, :inactive
  37.  
  38. user = User.create(inactive: false) # "presence: true" da erro com valores false
  39. assert_not_includes user.errors, :inactive
  40. end
  41.  
  42. test "Deve ser default atributo inactive como false" do
  43. assert_not User.new.inactive?
  44. end
  45.  
  46. test "Deve ser default atributo admin como false" do
  47. assert_not User.new.admin?
  48. end
  49.  
  50. %w[
  51. 'invali d'
  52. 'inv@lid'
  53. 'i-nvalid'
  54. 'in.valid'
  55. 'in_valid'
  56. 'in,valid'
  57. ].each do |login|
  58. test "é necessario um login valido (#{login})" do
  59. user = User.create(login: login)
  60. assert user.errors[:login].any?
  61. end
  62. end
  63.  
  64. test 'login é unico' do
  65. @user = User.create(login: 'administrador', admin: true, name: 'Teste', company_id: 1, password: '123456')
  66. @user2 = User.create(login: 'administrador', admin: true, name: 'Teste', company_id: 1, password: '123456')
  67. assert_includes @user2.errors, :login
  68. end
  69.  
  70. test 'login é unico case-sensitive' do
  71. @user = User.create(login: 'mandachuva', admin: true, name: 'Teste', company_id: 1, password: '123456')
  72. @user2 = User.create(login: 'MANDACHUVA', admin: true, name: 'Teste', company_id: 1, password: '123456')
  73. assert_includes @user2.errors, :login
  74. end
  75.  
  76. test "Testando escopo de ativos" do
  77. assert_difference 'User.active.size', -1 do
  78. users(:user_one).update_attribute :inactive, true
  79. end
  80. end
  81.  
  82. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement