We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
`Req.Test` stubs keep HTTP out of your tests
Req ships with a built-in test stub mechanism. No Bypass, no Mox, no additional dependencies — just three small changes and your HTTP calls never hit ...
Chain failable operations cleanly with `with`
Nested case statements for operations that can fail look neat at first — until you need three of them. with lets you sequence failable operations and ...
Split async and sync tests in one file
Marking a test module async: false serializes every test inside it. If only two tests genuinely need it — because they touch a globally-named Task.Sup...
optimum_credo v0.4.0
We've moved to almost fully autonomous AI-driven development and rely less on human code review. We're pushing more into Credo — mechanical rules that...
Override config in async tests
Application.put_env/3 in tests mutates global state. Two concurrent tests overwriting the same key will race — the restore in on_exit runs after the o...
`Phoenix.Token` beyond `mix phx.gen.auth`
If you've used mix phx.gen.auth, you've already seen Phoenix.Token at work — it's what powers the email verification and password reset links in the g...
Chain failable operations cleanly with `with`
Nested case statements for operations that can fail look neat at first — until you need three of them. with lets you sequence failable operations and ...
`Repo.stream/2` processes database results without loading all rows
Exporting a million database rows? Repo.all/2 loads everything into memory first. Repo.stream/2 uses database cursors to fetch rows in batches, keepin...
optimum_credo v0.3.0
optimum_credo version 0.3.0 was released....
Pause an Oban job with `{:snooze, seconds}`
Sometimes a job isn't ready to run yet — a third-party API is rate-limiting you, a resource hasn't been created, or you just need to wait a few minute...
Use `Integer.parse/1` for params, not `String.to_integer/1`
Phoenix does zero automatic type coercion. Every value in params arrives as a string — or not at all. Reaching for String.to_integer/1 on user-supplie...
github_workflows_generator v0.1.4
github_workflows_generator version 0.1.4 was released with escript support, making it usable in projects without mix....
optimum_credo v0.2.0
We added 6 new Credo checks to optimum_credo: unused types, private function specs, verbose nil assertions, extractable spec types, module organizatio...
Structure context tests with `describe` blocks
Phoenix context test files grow fast. A single accounts_test.exs can easily reach 300+ lines, and without structure it becomes hard to find tests, spo...
`Phoenix.LiveView.JS` for client-side interactions
Not every click needs a server roundtrip. Toggling a dropdown, showing a modal, or hiding a deleted item are all pure UI operations — but they're ofte...
copied to clipboard