Include autenticazione, progetti isolati, mail marketing HTML con SMTP, test A/B e editor WYSIWYG. Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
1.2 KiB
Ruby
37 lines
1.2 KiB
Ruby
require "test_helper"
|
|
|
|
class MailMergeTest < ActiveSupport::TestCase
|
|
test "replaces tokens from organization and contact" do
|
|
html = MailMerge.render(
|
|
"Ciao {{contatto_nome}} di {{societa}} in {{regione}}",
|
|
organization: organizations(:acme),
|
|
contact: contacts(:primary),
|
|
project: projects(:matchlivetv),
|
|
opportunity: opportunities(:deal)
|
|
)
|
|
|
|
assert_equal "Ciao Mario Rossi di ASD Test Calcio in Lombardia", html
|
|
end
|
|
|
|
test "falls back to primary contact and org email" do
|
|
vars = MailMerge.variables_for(organization: organizations(:acme), project: projects(:matchlivetv))
|
|
assert_equal "Mario Rossi", vars["contatto_nome"]
|
|
assert_equal "mario@asdtest.example.it", vars["email"]
|
|
assert_equal "MatchLiveTV", vars["progetto"]
|
|
assert_equal "Full", vars["piano"]
|
|
end
|
|
|
|
test "test_ab prefers explicit variant" do
|
|
vars = MailMerge.variables_for(
|
|
organization: organizations(:acme),
|
|
project: projects(:matchlivetv),
|
|
ab_variant: "B"
|
|
)
|
|
assert_equal "B", vars["test_ab"]
|
|
end
|
|
|
|
test "unknown tokens become empty string" do
|
|
assert_equal "X Y", MailMerge.render("X {{sconosciuto}} Y")
|
|
end
|
|
end
|