Files
eminuxCRM/test/services/mail_merge_test.rb
T
eminuxandCursor c4e5f289cf
CI / scan_ruby (push) Failing after 11m20s
CI / scan_js (push) Successful in 10m35s
CI / lint (push) Has been cancelled
Commit iniziale di eminuxCRM: CRM Rails con pipeline, campagne email e Docker.
Include autenticazione, progetti isolati, mail marketing HTML con SMTP, test A/B e editor WYSIWYG.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 23:01:48 +02:00

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