Files
danbooru/test/functional/dmcas_controller.rb

55 lines
1.6 KiB
Ruby

require "test_helper"
class DmcasControllerTest < ActionDispatch::IntegrationTest
context "show action" do
should "work for anonymous users" do
get dmca_path
assert_response :success
end
end
context "create action" do
should "work" do
dmca = {
name: "John Doe",
email: "test@gmail.com",
address: "123 Fake Street",
infringing_urls: "https://example.com/1.html\nhttps://example.com/2.html",
original_urls: "https://google.com/1.html\nhttps://google.com/2.html",
proof: "source: me",
signature: "John Doe",
}
create(:owner_user)
post dmca_path, params: { dmca: dmca }
assert_response :success
assert_emails 2
assert_equal("DMCA Complaint from John Doe", Dmail.last.title)
assert_match(/test@gmail.com/, Dmail.last.body)
assert_match(%r{https://example\.com/1\.html}, Dmail.last.body)
end
should "not send an email to fake addresses" do
dmca = {
name: "John Doe",
email: "fake@example.com",
address: "123 Fake Street",
infringing_urls: "https://example.com/1.html\nhttps://example.com/2.html",
original_urls: "https://google.com/1.html\nhttps://google.com/2.html",
proof: "source: me",
signature: "John Doe",
}
create(:owner_user)
post dmca_path, params: { dmca: dmca }
assert_response :success
assert_emails 1
assert_equal("DMCA Complaint from John Doe", Dmail.last.title)
assert_match(/fake@example.com/, Dmail.last.body)
assert_match(%r{https://example\.com/1\.html}, Dmail.last.body)
end
end
end