ariandanim

ariandanim

Does it okay if I never use mix test?

I am currently developing app but never try to use mix test, because some of code I made custom in lib folder, sometime when i try make account like mix phx.gen.auth Accounts User users, i try to made custom in the code. but when try make mix test some failure comes in like below :

  1) test confirm email does not update email with invalid token (TrainWeb.UserSettingsLiveTest)
     test/train_web/live/user_settings_live_test.exs:192
     match (=) failed
     code:  assert {:live_redirect, %{to: path, flash: flash}} = redirect
     left:  {:live_redirect, %{flash: flash, to: path}}
     right: {
              :redirect,
              %{
                flash: %{"error" => "You must activated via link activation that send it into your mail to access this page."},
                to: "/users/log_in"
              }
            }
     stacktrace:
       test/train_web/live/user_settings_live_test.exs:194: (test)



  2) test update email form renders errors with invalid data (phx-submit) (TrainWeb.UserSettingsLiveTest)
     test/train_web/live/user_settings_live_test.exs:68
     ** (MatchError) no match of right hand side value: {:error, {:redirect, %{to: "/users/log_in", flash: %{"error" => "You must activated via link activation that send it into your mail to access this page."}}}}
     code: {:ok, lv, _html} = live(conn, ~p"/users/settings")
     stacktrace:
       test/train_web/live/user_settings_live_test.exs:69: (test)



  3) test Settings page renders settings page (TrainWeb.UserSettingsLiveTest)
     test/train_web/live/user_settings_live_test.exs:9
     ** (MatchError) no match of right hand side value: {:error, {:redirect, %{to: "/users/log_in", flash: %{"error" => "You must activated via link activation that send it into your mail to access this page."}}}}
     code: {:ok, _lv, html} =
     stacktrace:
       test/train_web/live/user_settings_live_test.exs:10: (test)

.

  4) test update email form updates the user email (TrainWeb.UserSettingsLiveTest)
     test/train_web/live/user_settings_live_test.exs:35
     ** (MatchError) no match of right hand side value: {:error, {:redirect, %{to: "/users/log_in", flash: %{"error" => "You must activated via link activation that send it into your mail to access this page."}}}}
     code: {:ok, lv, _html} = live(conn, ~p"/users/settings")
     stacktrace:
       test/train_web/live/user_settings_live_test.exs:38: (test)

.

  5) test update email form renders errors with invalid data (phx-change) (TrainWeb.UserSettingsLiveTest)
     test/train_web/live/user_settings_live_test.exs:52
     ** (MatchError) no match of right hand side value: {:error, {:redirect, %{to: "/users/log_in", flash: %{"error" => "You must activated via link activation that send it into your mail to access this page."}}}}
     code: {:ok, lv, _html} = live(conn, ~p"/users/settings")
     stacktrace:
       test/train_web/live/user_settings_live_test.exs:53: (test)

...

  6) test update password form renders errors with invalid data (phx-change) (TrainWeb.UserSettingsLiveTest)
     test/train_web/live/user_settings_live_test.exs:121
     ** (MatchError) no match of right hand side value: {:error, {:redirect, %{to: "/users/log_in", flash: %{"error" => "You must activated via link activation that send it into your mail to access this page."}}}}
     code: {:ok, lv, _html} = live(conn, ~p"/users/settings")
     stacktrace:
       test/train_web/live/user_settings_live_test.exs:122: (test)

.

  7) test confirm email updates the user email once (TrainWeb.UserSettingsLiveTest)
     test/train_web/live/user_settings_live_test.exs:174
     match (=) failed
     code:  assert {:live_redirect, %{to: path, flash: flash}} = redirect
     left:  {:live_redirect, %{flash: flash, to: path}}
     right: {
              :redirect,
              %{
                flash: %{"error" => "You must activated via link activation that send it into your mail to access this page."},
                to: "/users/log_in"
              }
            }
     stacktrace:
       test/train_web/live/user_settings_live_test.exs:177: (test)

...

  8) test update password form renders errors with invalid data (phx-submit) (TrainWeb.UserSettingsLiveTest)
     test/train_web/live/user_settings_live_test.exs:140
     ** (MatchError) no match of right hand side value: {:error, {:redirect, %{to: "/users/log_in", flash: %{"error" => "You must activated via link activation that send it into your mail to access this page."}}}}
     code: {:ok, lv, _html} = live(conn, ~p"/users/settings")
     stacktrace:
       test/train_web/live/user_settings_live_test.exs:141: (test)

.

  9) test update password form updates the user password (TrainWeb.UserSettingsLiveTest)
     test/train_web/live/user_settings_live_test.exs:92
     ** (MatchError) no match of right hand side value: {:error, {:redirect, %{to: "/users/log_in", flash: %{"error" => "You must activated via link activation that send it into your mail to access this page."}}}}
     code: {:ok, lv, _html} = live(conn, ~p"/users/settings")
     stacktrace:
       test/train_web/live/user_settings_live_test.exs:95: (test)

Showing Posts 1 to 8

emadb

emadb

Maybe, I don’t understand what are you asking.

If you don’t want to write test, you can avoid to run mix test.
The failing tests that you are showing have a pretty clear error message and should be easy to fix them in you want.

Try to explain better your problem. Thank you.

zachallaun

zachallaun

When you generate anything with Phoenix, it generates code in lib and tests for that code in test. Naturally, changing the code will cause tests relying on that code to fail. Update your tests or, if you must, delete the failing tests so that at least the remaining ones can be useful.

dimitarvp

dimitarvp

Tests are written so you’re sure you’re delivering working code. If you’re one of the gods who know their code works without tests then don’t run them.

D4no0

D4no0

Working code is optional, getting paid is the important part :joy: .

LostKobrakai

LostKobrakai

Don’t forget that not everyone is coding for professional reasons. Also automated tests are not the only form of testing. So even with automated tests being a useful tool they’re by no means generally required.

To answer the question though: Yes phoenix cannot automatically adjust tests to take authentication into account, given it has no idea about what content should require authentication or not. Therefore adjusting the automatically generated tests for those additional concerns is required.

dimitarvp

dimitarvp

Even in hobby code at one point you want to make sure the thing works, no? Manual testing does not scale.

LostKobrakai

LostKobrakai

I mean I don’t disagree, but on the other hand it depends on the context. I’ve for a long time worked on a project, which had (and still has) not much time sensitivity and also not much scale. For quite a bit in the beginning this ran on a system without automated tests (a constraint of the underlying architecture). It wasn’t great, but it also wasn’t too bad. It at least was better than the manual stuff it had replaced. Eventually we switched architecture (to elixir).

So for sure there are many ways where skipping testing can turn on you, but I try to not discredit other paths.

dimitarvp

dimitarvp

I didn’t intend to discredit it, sorry if it sounded that way.


And, as I work for a telecom nowadays I get it that not everything can be neatly put into automated tests indeed. Or stuff like Nerves[-like] environments where you actually have to send physical signals – another valid use-case.

So yeah I don’t disagree with you either, it’s just that I’d always default to automated tests if the environment allows for it. If for no any other reason than this one: from one point and on I want to progress and automated tests give you confidence that you at least didn’t break what was working before.

— All posts loaded —

Where Next? Top

Trending in Questions Top

Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
Onor.io
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
jaybe78
Hello, I’m developing a online persistent chat system (what’s app) like using elixir/dynamodb/aws for a mobile app(flutter). The diffic...
New
Trolleger
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New
matt-savvy
Anyone here using Honeybadger? My Honeybadger account is being overwhelmed with noise from some bots. Seeing a lot of Bandit.HTTPError...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews