/test/support/helpers.rb
https://github.com/bwalding/devise · Ruby · 60 lines · 49 code · 9 blank · 2 comment · 0 complexity · 42bffa40b1b774270f0ca60124fa94b0 MD5 · raw file
- require 'active_support/test_case'
- class ActiveSupport::TestCase
- VALID_AUTHENTICATION_TOKEN = 'AbCdEfGhIjKlMnOpQrSt'.freeze
- def setup_mailer
- ActionMailer::Base.deliveries = []
- end
- def store_translations(locale, translations, &block)
- begin
- I18n.backend.store_translations(locale, translations)
- yield
- ensure
- I18n.reload!
- end
- end
- def generate_unique_email
- @@email_count ||= 0
- @@email_count += 1
- "test#{@@email_count}@example.com"
- end
- def valid_attributes(attributes={})
- { :username => "usertest",
- :email => generate_unique_email,
- :password => '123456',
- :password_confirmation => '123456' }.update(attributes)
- end
- def new_user(attributes={})
- User.new(valid_attributes(attributes))
- end
- def create_user(attributes={})
- User.create!(valid_attributes(attributes))
- end
- def create_admin(attributes={})
- valid_attributes = valid_attributes(attributes)
- valid_attributes.delete(:username)
- Admin.create!(valid_attributes)
- end
- # Execute the block setting the given values and restoring old values after
- # the block is executed.
- def swap(object, new_values)
- old_values = {}
- new_values.each do |key, value|
- old_values[key] = object.send key
- object.send :"#{key}=", value
- end
- yield
- ensure
- old_values.each do |key, value|
- object.send :"#{key}=", value
- end
- end
- end