Il form invito è sulla pagina squadra, genera il link e manda la mail; in caso di errore SMTP resta la copia manuale. Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
1.1 KiB
Ruby
31 lines
1.1 KiB
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe Teams::InvitationMailer, type: :mailer do
|
|
let!(:club) { Club.create!(name: "Mail Club", sport: "volleyball", primary_color: "#e53935", secondary_color: "#ffffff") }
|
|
let!(:team) { club.teams.create!(name: "U16", sport: "volleyball") }
|
|
let!(:inviter) { User.create!(name: "Coach", email: "coach-mail@test.it", password: "Password123", role: "coach") }
|
|
let(:invitation) do
|
|
TeamInvitation.new(
|
|
email: "streamer@test.it",
|
|
expires_at: 7.days.from_now,
|
|
role: "member",
|
|
staff_kind: "transmission"
|
|
)
|
|
end
|
|
|
|
it "invia l'invito con link e oggetto corretti" do
|
|
mail = described_class.transmission_invite(
|
|
team: team,
|
|
invitation: invitation,
|
|
invite_url: "http://www.example.com/join/token-demo",
|
|
invited_by: inviter
|
|
)
|
|
|
|
expect(mail.to).to eq(["streamer@test.it"])
|
|
expect(mail.subject).to include("U16")
|
|
expect(mail.subject).to include("Mail Club")
|
|
expect(mail.body.encoded).to include("http://www.example.com/join/token-demo")
|
|
expect(mail.body.encoded).to include("Coach")
|
|
end
|
|
end
|