Importa i prospect Basket senza email vuote e senza toccare le altre campagne.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -107,4 +107,56 @@ class CampaignImportMatchlivetvLaunchTest < ActiveSupport::TestCase
|
||||
ensure
|
||||
csv.close!
|
||||
end
|
||||
|
||||
test "skips clubs without a verified email" do
|
||||
csv = Tempfile.new(["basket", ".csv"])
|
||||
csv.write(<<~CSV)
|
||||
N.,Regione,Prov.,Società,M/F,Email verificata,Sito / profilo,Streaming rilevato,Evidenza / fit commerciale,Test A/B,Stato invio,Data invio,Esito,Demo / Trial,Conversione,Piano,Fonte contatto / ricerca,Data verifica,Note follow-up
|
||||
1,Lombardia,MI,Olimpia Milano,M,olimpia@olimpiamilano.com,olimpiamilano.com,RILEVATO,Serie A,A,DA INVIARE,,,NO,NO,,fonte,2026-09-07,
|
||||
89,Lombardia,CR,Pallacanestro Crema,M,,cremabasket.it,NON RILEVATO,Serie B,B,DA INVIARE,,,NO,NO,,fonte,2026-09-07,
|
||||
CSV
|
||||
csv.flush
|
||||
|
||||
result = CampaignImport::MatchlivetvLaunch.new(
|
||||
path: csv.path,
|
||||
user: users(:admin),
|
||||
project: projects(:matchlivetv),
|
||||
wipe: false,
|
||||
sport: "Basket",
|
||||
campaign_name: "Campagna Basket"
|
||||
).call
|
||||
|
||||
assert_empty result.errors, result.errors.inspect
|
||||
assert_equal 1, result.imported
|
||||
assert_equal 1, result.skipped
|
||||
assert Organization.exists?(name: "Olimpia Milano")
|
||||
assert_equal "yes", Organization.find_by!(name: "Olimpia Milano").streaming_status
|
||||
assert_nil Organization.find_by(name: "Pallacanestro Crema")
|
||||
ensure
|
||||
csv.close!
|
||||
end
|
||||
|
||||
test "transliterates accented characters in campaign emails" do
|
||||
csv = Tempfile.new(["frascati", ".csv"])
|
||||
csv.write(<<~CSV)
|
||||
N.,Regione,Prov.,Società,M/F,Email verificata,Sito / profilo,Streaming rilevato,Evidenza / fit commerciale,Test A/B,Stato invio,Data invio,Esito,Demo / Trial,Conversione,Piano,Fonte contatto / ricerca,Data verifica,Note follow-up
|
||||
127,Lazio,RM,Club Basket Frascati,M/F,società@basketfrascati.com,basketfrascati.com,NON RILEVATO,Giovanile,A,DA INVIARE,,,NO,NO,,fonte,2026-09-07,
|
||||
CSV
|
||||
csv.flush
|
||||
|
||||
result = CampaignImport::MatchlivetvLaunch.new(
|
||||
path: csv.path,
|
||||
user: users(:admin),
|
||||
project: projects(:matchlivetv),
|
||||
wipe: false,
|
||||
sport: "Basket",
|
||||
campaign_name: "Campagna Basket"
|
||||
).call
|
||||
|
||||
assert_empty result.errors, result.errors.inspect
|
||||
assert_equal 1, result.imported
|
||||
assert_equal "societa@basketfrascati.com", Organization.find_by!(name: "Club Basket Frascati").email
|
||||
ensure
|
||||
csv.close!
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user