discourse/spec/fabricators/notification_fabricator.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

108 lines
3.3 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2013-02-06 03:16:51 +08:00
Fabricator(:notification) do
transient :post
2013-03-01 20:07:44 +08:00
notification_type Notification.types[:mentioned]
high_priority false
2013-02-06 03:16:51 +08:00
user
topic { |attrs| attrs[:post]&.topic || Fabricate(:topic, user: attrs[:user]) }
post_number { |attrs| attrs[:post]&.post_number }
data '{"poison":"ivy","killer":"croc"}'
2013-02-06 03:16:51 +08:00
end
Fabricator(:quote_notification, from: :notification) do
2013-03-01 20:07:44 +08:00
notification_type Notification.types[:quoted]
2013-02-06 03:16:51 +08:00
user
2017-07-28 09:20:09 +08:00
topic { |attrs| Fabricate(:topic, user: attrs[:user]) }
2013-02-06 03:16:51 +08:00
end
Fabricator(:private_message_notification, from: :notification) do
2013-03-01 20:07:44 +08:00
notification_type Notification.types[:private_message]
high_priority true
data do |attrs|
post = attrs[:post] || Fabricate(:post, topic: attrs[:topic], user: attrs[:user])
{
topic_title: attrs[:topic].title,
original_post_id: post.id,
original_post_type: post.post_type,
original_username: post.user.username,
revision_number: nil,
display_username: post.user.username
}.to_json
end
end
Fabricator(:bookmark_reminder_notification, from: :notification) do
notification_type Notification.types[:bookmark_reminder]
high_priority true
data do |attrs|
post = attrs[:post] || Fabricate(:post, topic: attrs[:topic], user: attrs[:user])
{
topic_title: attrs[:topic].title,
original_post_id: post.id,
original_post_type: post.post_type,
original_username: post.user.username,
revision_number: nil,
display_username: post.user.username,
bookmark_name: "Check out Mr Freeze's opinion here"
}.to_json
end
end
Fabricator(:replied_notification, from: :notification) do
notification_type Notification.types[:replied]
data do |attrs|
post = attrs[:post] || Fabricate(:post, topic: attrs[:topic], user: attrs[:user])
{
topic_title: attrs[:topic].title,
original_post_id: post.id,
original_username: post.user.username,
revision_number: nil,
display_username: post.user.username
}.to_json
end
end
Fabricator(:posted_notification, from: :notification) do
notification_type Notification.types[:posted]
data do |attrs|
post = attrs[:post] || Fabricate(:post, topic: attrs[:topic], user: attrs[:user])
{
topic_title: attrs[:topic].title,
original_post_id: post.id,
original_post_type: post.post_type,
original_username: post.user.username,
revision_number: nil,
display_username: post.user.username
}.to_json
end
2013-02-06 03:16:51 +08:00
end
Fabricator(:mentioned_notification, from: :notification) do
notification_type Notification.types[:mentioned]
data do |attrs|
{
topic_title: attrs[:topic].title,
original_post_id: attrs[:post].id,
original_post_type: attrs[:post].post_type,
original_username: attrs[:post].user.username,
revision_number: nil,
display_username: attrs[:post].user.username
}.to_json
end
end
Fabricator(:watching_first_post_notification, from: :notification) do
notification_type Notification.types[:watching_first_post]
data do |attrs|
{
topic_title: attrs[:topic].title,
original_post_id: attrs[:post].id,
original_post_type: attrs[:post].post_type,
original_username: attrs[:post].user.username,
revision_number: nil,
display_username: attrs[:post].user.username
}.to_json
end
end