Skip to content

Commit 1479070

Browse files
committed
Adjust LV test sleep time
1 parent 2f9b9fc commit 1479070

File tree

3 files changed

+19
-15
lines changed

3 files changed

+19
-15
lines changed

lib/keila/mailings/schedule_worker.ex

+12-8
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,17 @@ defmodule Keila.Mailings.ScheduleWorker do
2929
@impl true
3030
def perform(%Oban.Job{}) do
3131
Enum.reduce_while(1..@passes, :ok, fn _, _ ->
32-
Repo.transaction(fn ->
33-
if jobs_below_threshold?() do
34-
schedule_recipients()
35-
{:cont, :ok}
36-
else
37-
{:halt, :ok}
38-
end
39-
end)
32+
{_, acc} =
33+
Repo.transaction(fn ->
34+
if jobs_below_threshold?() do
35+
schedule_recipients()
36+
{:cont, :ok}
37+
else
38+
{:halt, :ok}
39+
end
40+
end)
41+
42+
acc
4043
end)
4144
end
4245

@@ -58,6 +61,7 @@ defmodule Keila.Mailings.ScheduleWorker do
5861
limit: @limit,
5962
lock: "FOR NO KEY UPDATE"
6063
)
64+
|> Repo.all()
6165
|> Enum.group_by(& &1.campaign_id)
6266
|> Enum.each(fn {campaign_id, recipients} ->
6367
insert_jobs(campaign_id, recipients)

test/keila/mailings/mailings_campaign_test.exs

+6-6
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ defmodule Keila.MailingsCampaignTest do
8383

8484
assert :ok = Mailings.deliver_campaign(campaign.id)
8585

86-
Oban.drain_queue(queue: :periodic)
86+
assert %{success: 1} = Oban.drain_queue(queue: :periodic)
8787
assert %{success: ^n, failure: 0} = Oban.drain_queue(queue: :mailer, with_scheduled: true)
8888

8989
for _ <- 1..n do
@@ -122,7 +122,7 @@ defmodule Keila.MailingsCampaignTest do
122122

123123
assert :ok = Mailings.deliver_campaign(campaign.id)
124124

125-
Oban.drain_queue(queue: :periodic)
125+
assert %{success: 1} = Oban.drain_queue(queue: :periodic)
126126

127127
assert %{success: ^n_expected_sent, failure: 0, snoozed: ^n_expected_snoozed} =
128128
Oban.drain_queue(queue: :mailer, with_scheduled: true)
@@ -161,7 +161,7 @@ defmodule Keila.MailingsCampaignTest do
161161

162162
assert :ok = Mailings.deliver_campaign(campaign.id)
163163

164-
Oban.drain_queue(queue: :periodic)
164+
assert %{success: 1} = Oban.drain_queue(queue: :periodic)
165165
assert %{success: ^n, failure: 0} = Oban.drain_queue(queue: :mailer, with_scheduled: true)
166166

167167
for _ <- 1..n do
@@ -186,7 +186,7 @@ defmodule Keila.MailingsCampaignTest do
186186

187187
assert :ok = Mailings.deliver_campaign(campaign.id)
188188

189-
Oban.drain_queue(queue: :periodic)
189+
assert %{success: 1} = Oban.drain_queue(queue: :periodic)
190190
assert %{success: ^n, failure: 0} = Oban.drain_queue(queue: :mailer, with_scheduled: true)
191191

192192
for _ <- 1..n do
@@ -308,7 +308,7 @@ defmodule Keila.MailingsCampaignTest do
308308
)
309309

310310
assert :ok = Mailings.deliver_campaign(campaign.id)
311-
Oban.drain_queue(queue: :periodic)
311+
assert %{success: 1} = Oban.drain_queue(queue: :periodic)
312312
assert %{success: 1, failure: 0} = Oban.drain_queue(queue: :mailer, with_scheduled: true)
313313

314314
receive do
@@ -343,7 +343,7 @@ defmodule Keila.MailingsCampaignTest do
343343

344344
assert :ok = Mailings.deliver_campaign(campaign.id)
345345

346-
Oban.drain_queue(queue: :periodic)
346+
assert %{success: 1} = Oban.drain_queue(queue: :periodic)
347347
assert %{success: 1, cancelled: 1} = Oban.drain_queue(queue: :mailer, with_scheduled: true)
348348
assert %{status: :sent} = Mailings.get_campaign_stats(campaign.id)
349349
end

test/keila_web/controllers/campaign_controller_test.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ defmodule KeilaWeb.CampaignControllerTest do
301301

302302
Oban.drain_queue(queue: :periodic)
303303
Oban.drain_queue(queue: :mailer, with_scheduled: true)
304-
:timer.sleep(500)
304+
:timer.sleep(1500)
305305

306306
assert render(lv) =~
307307
"<div class=\"text-sm\">emails sent</div><div class=\"text-3xl\">10</div>"

0 commit comments

Comments
 (0)