caslu

caslu

Hello guys, i was coding my new project and something curious happened to me. Gust giving a bit of context, i’ve been using Phoenix and Elixir for a while but not LiveView, which i’m getting more a little more comfortable now. But here’s the “problem”, i’m gonna provide a simplified example:

In my routes i have a “/” homepage path, which have a button to navigate to a protected route “/protected”, consider that in this project i’m managing authentication through phx.gen.auth (MyAppWeb.UserAuth module), when i tried to test this flow it continues to redirect me for /protected even when i’m not logged in, i’ll leave some snippets below:

router.ex

    live_session :require_authenticated_user,
      on_mount: [{EurekaWeb.UserAuth, :ensure_authenticated}] do
      live "/users/settings", UserSettingsLive, :edit
      live "/users/settings/confirm_email/:token", UserSettingsLive, :confirm_email
      live "/protected_page", AuthenticatedPageLive # The protected page
    end

And the failing test snippet:

    test "opens guest user sign in modal when user is not signed in", %{conn: conn} do
      {:ok, view, html} = live(conn, ~p"/")

      html = view |> element("a", "Create a new room") |> render_click()
      assert_redirect(view, ~p"/users/guest/log_in")
    end

But when i execute the test here’s the output

 ** (ArgumentError) expected EurekaWeb.PageLive.Home
 to redirect to "/users/guest/log_in", but got a redirect to "/protected_page"

Can someone explain me why in test scenario live view for some reason do not redirect to login modal such as when i’m interacting through web?

Please leave me a feedback if for some reason the questions isn’t clear enough, thanks guys! :handshake:

Showing Posts 1 to 1

krwenholz

krwenholz

Hard to say without knowing the rest of your codebase, but here are some gotchas that have caught me:

  1. Incorrect test isolation, such that the user on that test connection is signed in (can happen in a number of ways if you’re trying to be too clever)
  2. You’ve overridden some behavior in ensure_authentication that isn’t protecting the page correctly.
  3. Defining the route higher up without authentication.

Have you verified it works outside the test?

— All posts loaded —

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
achenet
Hello, I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind. However, when I launch mix phx.server, I get an error...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
mnkhod
So i have been using ash framework for a while and i love it. However currently the issue im having with ash framework is the error handl...
New
Cxx-mlr
I’m working on a small exercise involving update_in/3, and I came up with this solution: data = %{ name: "Periodic Table", category:...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews