Why are my auto generated LiveView tests failing?

I have installed the latest Phoenix 1.7 release candidate, and created a new project with all of the default options. I ran the tests and they all passed. Then, I used the built in generators to create a new LiveView and added the routes to my router. However, when I then went to run my tests, all of the tests generated for the live view that called the follow_redirect/2 function failed with a runtime error saying that the live view did not redirect.
Was there a step I missed? How should I resolve this?

What is the exact error? Do you have a stacktrace?

This is the result of running mix test:

......

  1) test Index saves new user (WabbleWeb.UserLiveTest)
     test/wabble_web/live/user_live_test.exs:36
     ** (RuntimeError) LiveView did not redirect
     code: |> follow_redirect(conn, ~p"/users")
     stacktrace:
       test/wabble_web/live/user_live_test.exs:52: (test)

.

  2) test Index updates user in listing (WabbleWeb.UserLiveTest)
     test/wabble_web/live/user_live_test.exs:58
     ** (RuntimeError) LiveView did not redirect
     code: |> follow_redirect(conn, ~p"/users")
     stacktrace:
       test/wabble_web/live/user_live_test.exs:74: (test)



  3) test Show updates user within modal (WabbleWeb.UserLiveTest)
     test/wabble_web/live/user_live_test.exs:98
     ** (RuntimeError) LiveView did not redirect
     code: |> follow_redirect(conn, ~p"/users/#{user}")
     stacktrace:
       test/wabble_web/live/user_live_test.exs:114: (test)

.........
Finished in 0.6 seconds (0.2s async, 0.3s sync)
19 tests, 3 failures

I am running running elixir 1.14.2 with OTP 25 and am running Phoenix v1.7.0-rc.2.
I generated the live view by running: mix phx.gen.live Accounts User users username:string:unique first_name:string last_name:string birthdate:date, added the suggested live routes to the browser scope, and migrated the database. The above is the result of running the auto generated tests with no further modifications, and the web side of the app works as expected without any failures.

It sounds like you hit this issue: Using the `phx.gen.live` generator creates failing tests when using the types `:date` and `:time`. · Issue #5077 · phoenixframework/phoenix · GitHub

It was fixed a day after Phoenix v1.7.0-rc.2 was released, so you either have to wait for the next release candidate, the final version or use the master branch directly. You also have the possibility of fixing manually the errors as noted in the issue above.

2 Likes

Thanks! What you said was the issue.