172 lines
6.4 KiB
Ruby
172 lines
6.4 KiB
Ruby
|
|
class CommentMailerPreview < ApplicationMailerPreview
|
||
|
|
# Sent to a user when they get a comment on a top-level creation
|
||
|
|
def comment_notification
|
||
|
|
user = create(:user)
|
||
|
|
|
||
|
|
commenter = create(:user, :for_mailer_preview)
|
||
|
|
commenter_pseud = create(:pseud, user: commenter, name: "Custom pseud")
|
||
|
|
comment = create(:comment, pseud: commenter_pseud)
|
||
|
|
CommentMailer.comment_notification(user, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get a comment on a titled chapter of a chaptered work
|
||
|
|
def comment_notification_titled_chapter
|
||
|
|
user = create(:user)
|
||
|
|
work = create(:work, expected_number_of_chapters: 2)
|
||
|
|
chapter = create(:chapter, work: work, title: "Some Chapter")
|
||
|
|
|
||
|
|
comment = create(:comment, commentable: chapter)
|
||
|
|
CommentMailer.comment_notification(user, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get a comment on an untitled chapter of a chaptered work
|
||
|
|
def comment_notification_untitled_chapter
|
||
|
|
user = create(:user)
|
||
|
|
work = create(:work, expected_number_of_chapters: 2)
|
||
|
|
|
||
|
|
comment = create(:comment, commentable: work.first_chapter)
|
||
|
|
CommentMailer.comment_notification(user, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get a comment on a top-level creation by an official user
|
||
|
|
def comment_notification_official
|
||
|
|
user = create(:user)
|
||
|
|
|
||
|
|
commenter = create(:official_user, :for_mailer_preview)
|
||
|
|
comment = create(:comment, pseud: commenter.default_pseud)
|
||
|
|
CommentMailer.comment_notification(user, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get a comment on a top-level creation by a guest
|
||
|
|
def comment_notification_guest
|
||
|
|
user = create(:user)
|
||
|
|
comment = create(:comment, :by_guest)
|
||
|
|
CommentMailer.comment_notification(user, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get an unreviewed comment on a top-level creation
|
||
|
|
def comment_notification_unreviewed
|
||
|
|
user = create(:user)
|
||
|
|
|
||
|
|
comment = create(:comment, :unreviewed)
|
||
|
|
CommentMailer.comment_notification(user, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get a comment reply to their comment
|
||
|
|
def comment_reply_notification
|
||
|
|
comment = create(:comment)
|
||
|
|
|
||
|
|
replier = create(:user, :for_mailer_preview)
|
||
|
|
reply = create(:comment, commentable: comment, pseud: replier.default_pseud)
|
||
|
|
CommentMailer.comment_reply_notification(comment, reply)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get a comment reply to their comment on a titled chapter of a chaptered work
|
||
|
|
def comment_reply_notification_titled_chapter
|
||
|
|
work = create(:work, expected_number_of_chapters: 2)
|
||
|
|
chapter = create(:chapter, work: work, title: "Some Chapter")
|
||
|
|
comment = create(:comment, commentable: chapter)
|
||
|
|
|
||
|
|
replier = create(:user, :for_mailer_preview)
|
||
|
|
reply = create(:comment, commentable: comment, pseud: replier.default_pseud)
|
||
|
|
CommentMailer.comment_reply_notification(comment, reply)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get a reply to their comment by an anonymous creator
|
||
|
|
def comment_reply_notification_anon
|
||
|
|
replier = create(:user)
|
||
|
|
work = create(:work, authors: [replier.default_pseud], collections: [create(:anonymous_collection)])
|
||
|
|
|
||
|
|
comment = create(:comment, commentable: work)
|
||
|
|
reply = create(:comment, commentable: comment, pseud: replier.default_pseud)
|
||
|
|
CommentMailer.comment_reply_notification(comment, reply)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they make a reply to a comment and they want to be notified of their own comments
|
||
|
|
def comment_reply_sent_notification
|
||
|
|
commenter = create(:user, :for_mailer_preview)
|
||
|
|
|
||
|
|
comment = create(:comment, pseud: commenter.default_pseud)
|
||
|
|
reply = create(:comment, commentable: comment)
|
||
|
|
CommentMailer.comment_reply_sent_notification(reply)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get a comment on a tag
|
||
|
|
def tag_comment_notification
|
||
|
|
user = create(:user)
|
||
|
|
|
||
|
|
commenter = create(:user, :for_mailer_preview)
|
||
|
|
commenter_pseud = create(:pseud, user: commenter, name: "Custom pseud")
|
||
|
|
comment = create(:comment, :on_tag, pseud: commenter_pseud)
|
||
|
|
CommentMailer.comment_notification(user, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they get a comment reply to their comment on a tag
|
||
|
|
def tag_comment_reply_notification
|
||
|
|
comment = create(:comment, :on_tag)
|
||
|
|
|
||
|
|
replier = create(:user, :for_mailer_preview)
|
||
|
|
reply = create(:comment, commentable: comment, pseud: replier.default_pseud)
|
||
|
|
CommentMailer.comment_reply_notification(comment, reply)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when they make a reply to a comment on a tag, and they want to be notified of their own comments
|
||
|
|
def tag_comment_reply_sent_notification
|
||
|
|
commenter = create(:user, :for_mailer_preview)
|
||
|
|
|
||
|
|
comment = create(:comment, :on_tag, pseud: commenter.default_pseud)
|
||
|
|
reply = create(:comment, commentable: comment)
|
||
|
|
CommentMailer.comment_reply_sent_notification(reply)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when someone edits a comment
|
||
|
|
def edited_comment_notification
|
||
|
|
user = create(:user)
|
||
|
|
|
||
|
|
comment = create(:comment)
|
||
|
|
CommentMailer.edited_comment_notification(user, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to a user when someone edits an unreviewed comment on a news post
|
||
|
|
def edited_comment_notification_unreviewed
|
||
|
|
user = create(:user)
|
||
|
|
|
||
|
|
comment = create(:comment, :unreviewed)
|
||
|
|
CommentMailer.edited_comment_notification(user, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to the admin mailing list when someone leaves a new comment on a news post
|
||
|
|
def admin_comment_notification
|
||
|
|
admin = create(:admin)
|
||
|
|
|
||
|
|
comment = create(:comment, :on_admin_post)
|
||
|
|
CommentMailer.comment_notification(admin, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to the admin mailing list when someone leaves a new unreviewed comment on a news post
|
||
|
|
def admin_comment_notification_unreviewed
|
||
|
|
admin = create(:admin)
|
||
|
|
|
||
|
|
commentable = create(:admin_post, moderated_commenting_enabled: true)
|
||
|
|
comment = create(:comment, commentable: commentable, unreviewed: true)
|
||
|
|
CommentMailer.comment_notification(admin, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to the admin mailing list when someone edits a comment on a news post
|
||
|
|
def admin_edited_comment_notification
|
||
|
|
admin = create(:admin)
|
||
|
|
|
||
|
|
comment = create(:comment, :on_admin_post)
|
||
|
|
CommentMailer.edited_comment_notification(admin, comment)
|
||
|
|
end
|
||
|
|
|
||
|
|
# Sent to the admin mailing list when someone edits an unreviewed comment on a news post
|
||
|
|
def admin_edited_comment_notification_unreviewed
|
||
|
|
admin = create(:admin)
|
||
|
|
|
||
|
|
commentable = create(:admin_post, moderated_commenting_enabled: true)
|
||
|
|
comment = create(:comment, commentable: commentable, unreviewed: true)
|
||
|
|
CommentMailer.edited_comment_notification(admin, comment)
|
||
|
|
end
|
||
|
|
end
|