users_spec.rb 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. require 'rails_helper'
  2. describe User do
  3. describe "validations" do
  4. describe "invitation_code" do
  5. context "when configured to use invitation codes" do
  6. before do
  7. stub(User).using_invitation_code? {true}
  8. end
  9. it "only accepts valid invitation codes" do
  10. User::INVITATION_CODES.each do |v|
  11. should allow_value(v).for(:invitation_code)
  12. end
  13. end
  14. it "can reject invalid invitation codes" do
  15. %w['foo', 'bar'].each do |v|
  16. should_not allow_value(v).for(:invitation_code)
  17. end
  18. end
  19. it "requires no authentication code when requires_no_invitation_code! is called" do
  20. u = User.new(username: 'test', email: 'test@test.com', password: '12345678', password_confirmation: '12345678')
  21. u.requires_no_invitation_code!
  22. expect(u).to be_valid
  23. end
  24. end
  25. context "when configured not to use invitation codes" do
  26. before do
  27. stub(User).using_invitation_code? {false}
  28. end
  29. it "skips this validation" do
  30. %w['foo', 'bar', nil, ''].each do |v|
  31. should allow_value(v).for(:invitation_code)
  32. end
  33. end
  34. end
  35. end
  36. end
  37. end