towerops/test/towerops_web/plugs/update_session_activity_test.exs

44 lines
1.2 KiB
Elixir

defmodule ToweropsWeb.Plugs.UpdateSessionActivityTest do
use ToweropsWeb.ConnCase, async: false
alias ToweropsWeb.Plugs.UpdateSessionActivity
describe "init/1" do
test "passes through opts unchanged" do
assert UpdateSessionActivity.init(:some_opts) == :some_opts
end
end
describe "call/2" do
test "passes through when no user_token in session", %{conn: conn} do
conn =
conn
|> init_test_session(%{})
|> UpdateSessionActivity.call(%{})
assert conn.state == :unset
end
test "starts background task when user_token present", %{conn: conn} do
conn =
conn
|> init_test_session(%{user_token: "existing-token"})
|> UpdateSessionActivity.call(%{})
assert conn.state == :unset
end
test "starts background task when user_token and live_socket_id present", %{conn: conn} do
# Exercises the get_session/2 call for :live_socket_id within call/2.
conn =
conn
|> init_test_session(%{
user_token: "existing-token",
live_socket_id: "users_sessions:abc"
})
|> UpdateSessionActivity.call(%{})
assert conn.state == :unset
end
end
end