Permette di mettere in pausa un invio e riprenderlo senza perdere la coda.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -303,6 +303,32 @@ class MailingsControllerTest < ActionDispatch::IntegrationTest
|
||||
assert mailing.reload.sending?
|
||||
end
|
||||
|
||||
test "pause keeps remaining recipients and resume continues from there" do
|
||||
login_as users(:admin)
|
||||
follow_redirect! if response.redirect?
|
||||
create_campaign_org(name: "Seconda societa", email: "seconda@example.com")
|
||||
mailing = create_mailing(identity: @identity, audience: "to_send")
|
||||
mailing.rebuild_recipients!
|
||||
recipients = mailing.mailing_recipients.order(:id).to_a
|
||||
assert recipients.size >= 2
|
||||
recipients.first.update!(status: "sent", sent_at: Time.current)
|
||||
recipients.second.update!(status: "queued")
|
||||
mailing.update!(status: "sending", queued_at: Time.current, test_sent_at: Time.current, test_sent_to: "test@example.com")
|
||||
|
||||
post pause_mailing_path(mailing, project_code: @project.code)
|
||||
|
||||
assert_redirected_to dashboard_mailings_path(project_code: @project.code)
|
||||
assert_equal "paused", mailing.reload.status
|
||||
assert_equal "sent", recipients.first.reload.status
|
||||
assert_equal "queued", recipients.second.reload.status
|
||||
|
||||
post resume_mailing_path(mailing, project_code: @project.code)
|
||||
|
||||
assert_redirected_to dashboard_mailings_path(project_code: @project.code)
|
||||
assert_equal "sending", mailing.reload.status
|
||||
assert_equal "queued", recipients.second.reload.status
|
||||
end
|
||||
|
||||
test "cancel stops pending recipients and keeps sent ones" do
|
||||
login_as users(:admin)
|
||||
follow_redirect! if response.redirect?
|
||||
|
||||
Reference in New Issue
Block a user