2
0
mirror of https://github.com/moebooru/moebooru synced 2025-08-22 18:07:25 +00:00
moebooru/test/models/dmail_test.rb

58 lines
1.9 KiB
Ruby
Raw Permalink Normal View History

require "test_helper"
class DmailTest < ActiveSupport::TestCase
2014-11-23 13:09:44 +09:00
include ActionMailer::TestHelper
fixtures :users
2014-08-23 16:19:01 +09:00
def setup
ActionMailer::Base.delivery_method = :test
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.deliveries = []
end
2014-08-23 16:19:01 +09:00
def test_mark_as_read
member = User.find_by_name("member")
2024-01-08 19:39:01 +09:00
msg1 = Dmail.create(to_name: "member", from_name: "admin", title: "hello", body: "hello")
msg2 = Dmail.create(to_name: "member", from_name: "admin", title: "hello", body: "hello")
msg3 = Dmail.create(to_name: "member", from_name: "admin", title: "hello", body: "hello")
2014-08-23 16:19:01 +09:00
member.reload
assert_equal(true, member.has_mail?)
2014-08-23 16:19:01 +09:00
msg1.mark_as_read!(member)
msg1.reload
member.reload
assert_equal(true, msg1.has_seen?)
assert_equal(true, member.has_mail?)
2014-08-23 16:19:01 +09:00
msg2.mark_as_read!(member)
member.reload
assert_equal(true, member.has_mail?)
2014-08-23 16:19:01 +09:00
msg3.mark_as_read!(member)
member.reload
assert_equal(false, member.has_mail?)
end
2014-08-23 16:19:01 +09:00
def test_all
2024-01-08 19:39:01 +09:00
msg = Dmail.create(to_name: "member", from_name: "admin", title: "hello", body: "hello")
assert_equal(4, msg.to_id)
assert_equal(1, msg.from_id)
assert_equal(true, User.find(4).has_mail?)
2014-11-23 13:09:44 +09:00
assert_emails 1
mail = ActionMailer::Base.deliveries.first
2024-01-08 19:39:01 +09:00
assert_equal [ CONFIG["email_from"] ], mail.from
assert_equal %w[member@danbooru.com], mail.to
2014-11-23 13:09:44 +09:00
assert_equal "#{CONFIG["app_name"]} - Message received from admin", mail.subject
assert_equal "<p>admin said:</p>\r\n<div>\r\n <p>Subject: hello</p>\r\n <hr />\r\n hello\r\n</div>\r\n", mail.body.raw_source
2014-08-23 16:19:01 +09:00
2024-01-08 19:39:01 +09:00
response_a = Dmail.create(to_name: "admin", from_name: "member", parent_id: msg.id, title: "hello", body: "you are wrong")
assert_equal("Re: hello", response_a.title)
2014-08-23 16:19:01 +09:00
ActionMailer::Base.deliveries = []
2014-08-23 16:19:01 +09:00
2024-01-08 19:39:01 +09:00
Dmail.create(to_name: "privileged", from_name: "admin", title: "hoge", body: "hoge")
2014-11-23 13:09:44 +09:00
assert_no_emails
end
end