From d414a5eb7c8b14a358420c421389d5e86a090e5f Mon Sep 17 00:00:00 2001 From: Tsubasa Yoshida Date: Fri, 2 Jun 2023 18:50:18 +0900 Subject: [PATCH] add test for 2.0.6 --- test/models/invitable_test.rb | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/test/models/invitable_test.rb b/test/models/invitable_test.rb index 5a3673af..d0a6a2a9 100644 --- a/test/models/invitable_test.rb +++ b/test/models/invitable_test.rb @@ -366,6 +366,42 @@ def setup User.validate_on_invite = validate_on_invite end + test 'should not validate other attributes when validate_on_invite is disabled (for instance method)' do + validate_on_invite = User.validate_on_invite + User.validate_on_invite = false + user = new_user(email: 'valid@email.com', username: 'a' * 50) + user.invite!(nil, validate: false) + assert_empty user.errors + User.validate_on_invite = validate_on_invite + end + + test 'should validate other attributes when validate_on_invite is disabled and validate option is enabled (for instance method)' do + validate_on_invite = User.validate_on_invite + User.validate_on_invite = false + user = new_user(email: 'valid@email.com', username: 'a' * 50) + user.invite!(nil, validate: true) + refute_empty user.errors[:username] + User.validate_on_invite = validate_on_invite + end + + test 'should validate other attributes when validate_on_invite is enabled and validate option is disabled (for instance method)' do + validate_on_invite = User.validate_on_invite + User.validate_on_invite = true + user = new_user(email: 'valid@email.com', username: 'a' * 50) + user.invite! + refute_empty user.errors[:username] + User.validate_on_invite = validate_on_invite + end + + test 'should validate other attributes when validate_on_invite is enabled and validate option is disabled explicitly (for instance method)' do + validate_on_invite = User.validate_on_invite + User.validate_on_invite = true + user = new_user(email: 'valid@email.com', username: 'a' * 50) + user.invite!(nil, validate: false) + assert_empty user.errors + User.validate_on_invite = validate_on_invite + end + test 'should return a record with errors if user was found by e-mail' do existing_user = User.new(email: 'valid@email.com') existing_user.save(validate: false)