···325325 end
326326327327 def handle_info(:check_pending_reload, socket) do
328328- if map_size(socket.active_deployments) == 0 do
329329- if Garden.take_pending_reload(), do: reload_garden_service()
328328+ if State.should_reload?(socket.active_deployments, Garden.take_pending_reload()) do
329329+ reload_garden_service()
330330 end
331331332332 {:noreply, socket}
+4
apps/garden/lib/garden/socket/state.ex
···8383 end
8484 end
85858686+ def should_reload?(active_deployments, pending_reload) do
8787+ map_size(active_deployments) == 0 and pending_reload
8888+ end
8989+8690 def receive_deployment(%Deployment{skipped: true}, _active_deployments) do
8791 :skipped
8892 end
+23
apps/garden/test/garden/socket/state_test.exs
···232232 assert Map.has_key?(updated_active, "deploy_2")
233233 end
234234 end
235235+236236+ describe "should_reload?/2" do
237237+ test "returns true when no active deployments and pending reload" do
238238+ assert State.should_reload?(%{}, true)
239239+ end
240240+241241+ test "returns false when active deployments exist" do
242242+ active = %{
243243+ "deploy_1" => %Deployment{
244244+ sid: "deploy_1",
245245+ request_id: "dr_1",
246246+ seed_deployments: [],
247247+ skipped: false
248248+ }
249249+ }
250250+251251+ refute State.should_reload?(active, true)
252252+ end
253253+254254+ test "returns false when no pending reload" do
255255+ refute State.should_reload?(%{}, false)
256256+ end
257257+ end
235258end