ash-project / ash

A declarative, extensible framework for building Elixir applications.
https://www.ash-hq.org
MIT License
1.63k stars 218 forks source link

This should not be possible, please report a detailed bug at error when error is very clear #1606

Open jeroen11dijk opened 1 day ago

jeroen11dijk commented 1 day ago

Bug Report

Describe the Bug

When attempting to use Ash.Sort.expr_sort with a resource or relationship that does not exist, the error message suggests reporting a bug instead of providing a clear and direct error message about the invalid resource/relationship.


To Reproduce

Add the following code to a resource:

prepare build(
  sort: [
    Ash.Sort.expr_sort(not_existing_resource_or_relationship.attribute, :string)
  ]
)

And you get the error

** (Ash.Error.Framework.AssumptionFailed) Assumption failed: Listing refs in not_existing_resource_or_relationship.attribute:

Found reference :attribute at path [:not_existing_resource_or_relationship]

No related resource at path [:not_existing_resource_or_relationship] from Cvs.MatchingTable.Entry

This should not be possible, please report a detailed bug at:

https://github.com/ash-project/ash/issues/new?assignees=&labels=bug%2C+needs+review&template=bug_report.md&title=

Expected Behavior

A more specific error message pointing directly to the Ash.Sort.expr_sort call and that it is a human error. Not asying that you should report a bug here.

Runtime

[ - Elixir version](elixir: "> 1.16",) {:ash, "> 3.4.37"}, {:ash_postgres, "> 2.4.12"}, {:ash_phoenix, "> 2.0"}, {:ash_admin, "> 0.11.9"}, {:ash_authentication, "> 4.2.7"}, {:ash_authentication_phoenix, "~> 2.1.2"},