LiveViews are
GenServer’s under the hood
render_change is modifying the state of the live_view process and returns rendered result as a string to assert on if needed.
Once we got view via
{:ok, view, _html} = live(conn, ~p"/my_resource/#{id}/edit")
we should be able to
# modify the view (this will also return the resulting html so we can assert on its content if needed)
html =
view
|> form("#my-form")
|> render_change(%{some_key: "some value"})
# now the state of the `view` is modified, so we can submit the form and try to follow redirect
view
|> form("#my-form")
|> render_submit()
|> follow_redirect(conn, ~p"/my_redirect_route")


















