]> git.openstreetmap.org Git - rails.git/blob - test/mailers/previews/user_mailer_preview.rb
Add previews for account management emails
[rails.git] / test / mailers / previews / user_mailer_preview.rb
1 # frozen_string_literal: true
2
3 require "factory_bot_rails"
4
5 class UserMailerPreview < ActionMailer::Preview
6   include FactoryBot::Syntax::Methods
7
8   # Wraps the preview in a transaction, so that no changes
9   # are persisted to the development db
10   def self.call(...)
11     preview = nil
12     ActiveRecord::Base.transaction do
13       preview = super(...)
14       raise ActiveRecord::Rollback
15     end
16     preview
17   end
18
19   def signup_confirm
20     user = create(:user, :languages => [I18n.locale])
21     token = "token-123456"
22     UserMailer.signup_confirm(user, token)
23   end
24
25   def email_confirm
26     user = create(:user, :languages => [I18n.locale], :new_email => "newemail@example.com")
27     token = "token-123456"
28     UserMailer.email_confirm(user, token)
29   end
30
31   def lost_password
32     user = create(:user, :languages => [I18n.locale])
33     token = "token-123456"
34     UserMailer.lost_password(user, token)
35   end
36
37   def diary_comment_notification
38     recipient = create(:user, :languages => [I18n.locale])
39     diary_entry = create(:diary_entry)
40     diary_comment = create(:diary_comment, :diary_entry => diary_entry)
41     UserMailer.diary_comment_notification(diary_comment, recipient)
42   end
43 end