mirror of
https://github.com/ash-project/ash_postgres.git
synced 2024-09-20 21:43:12 +12:00
bac2e01b54
1) test complex calculation (AshPostgres.Test.ComplexCalculationsTest) test/complex_calculations_test.exs:5 ** (RuntimeError) Error while building reference: latest_documentation_status code: |> AshPostgres.Test.ComplexCalculations.Api.load!([ stacktrace: (ash_postgres 1.3.41) lib/expr.ex:846: AshPostgres.Expr.do_dynamic_expr/5 (ash_postgres 1.3.41) lib/expr.ex:109: AshPostgres.Expr.do_dynamic_expr/5 (ash_postgres 1.3.41) lib/expr.ex:356: AshPostgres.Expr.do_dynamic_expr/5 (ash_postgres 1.3.41) lib/expr.ex:968: anonymous fn/6 in AshPostgres.Expr.do_dynamic_expr/5 (ecto 3.10.3) lib/ecto/query/builder/dynamic.ex:76: Ecto.Query.Builder.Dynamic.expand/3 (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3 (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4 (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3 (stdlib 5.0.2) lists.erl:1707: :lists.mapfoldl_1/3 (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4 (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3 (stdlib 5.0.2) lists.erl:1707: :lists.mapfoldl_1/3 (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4 (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3 (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4 (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3 (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4 (ecto 3.10.3) lib/ecto/query/builder/dynamic.ex:59: Ecto.Query.Builder.Dynamic.partially_expand/6 (ecto 3.10.3) lib/ecto/query/builder/select.ex:235: Ecto.Query.Builder.Select.expand_nested/3 (ecto 3.10.3) lib/ecto/query/builder/select.ex:274: Ecto.Query.Builder.Select.expand_nested_pair/3 (elixir 1.15.4) lib/enum.ex:1825: anonymous fn/3 in Enum.map_reduce/3 (stdlib 5.0.2) maps.erl:416: :maps.fold_1/4 (elixir 1.15.4) lib/enum.ex:2522: Enum.map_reduce/3 (ecto 3.10.3) lib/ecto/query/builder/select.ex:257: Ecto.Query.Builder.Select.expand_nested/3 (ecto 3.10.3) lib/ecto/query/builder/select.ex:205: Ecto.Query.Builder.Select.select!/5 (elixir 1.15.4) lib/enum.ex:2510: Enum."-reduce/3-lists^foldl/2-0-"/3 (ash_postgres 1.3.41) lib/aggregate.ex:121: anonymous fn/6 in AshPostgres.Aggregate.add_aggregates/6 (elixir 1.15.4) lib/enum.ex:4830: Enumerable.List.reduce/3 (elixir 1.15.4) lib/enum.ex:2564: Enum.reduce_while/3 (ash_postgres 1.3.41) lib/aggregate.ex:53: AshPostgres.Aggregate.add_aggregates/6 (ash 2.13.3) lib/ash/query/aggregate.ex:570: anonymous fn/6 in Ash.Query.Aggregate.value_request/9 (ash 2.13.3) lib/ash/engine/engine.ex:537: anonymous fn/2 in Ash.Engine.run_iteration/1 (ash 2.13.3) lib/ash/engine/engine.ex:558: anonymous fn/4 in Ash.Engine.async/2 (elixir 1.15.4) lib/task/supervised.ex:101: Task.Supervised.invoke_mfa/2 (elixir 1.15.4) lib/task/supervised.ex:36: Task.Supervised.reply/4 (ash 2.13.3) lib/ash/engine/engine.ex:552: Ash.Engine.async/2 (elixir 1.15.4) lib/enum.ex:1693: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.15.4) lib/enum.ex:1693: Enum."-map/2-lists^map/1-1-"/2 (ash 2.13.3) lib/ash/engine/engine.ex:702: Ash.Engine.start_pending_tasks/1 (ash 2.13.3) lib/ash/engine/engine.ex:323: Ash.Engine.run_to_completion/1 (ash 2.13.3) lib/ash/engine/engine.ex:252: Ash.Engine.do_run/2 (ash 2.13.3) lib/ash/engine/engine.ex:148: Ash.Engine.run/2 (ash 2.13.3) lib/ash/actions/read.ex:173: Ash.Actions.Read.do_run/3 (ash 2.13.3) lib/ash/actions/read.ex:96: Ash.Actions.Read.run/3 (ash 2.13.3) lib/ash/api/api.ex:1733: Ash.Api.load/4 (ash 2.13.3) lib/ash/api/api.ex:1707: Ash.Api.load!/4 test/complex_calculations_test.exs:55: (test)
48 lines
1.2 KiB
Elixir
48 lines
1.2 KiB
Elixir
defmodule AshPostgres.Test.ComplexCalculations.Certification do
|
|
@moduledoc false
|
|
use Ash.Resource, data_layer: AshPostgres.DataLayer
|
|
|
|
actions do
|
|
defaults([:create, :read, :update, :destroy])
|
|
end
|
|
|
|
aggregates do
|
|
count :count_of_documented_skills, :skills do
|
|
filter(expr(removed == false and status != :pending))
|
|
end
|
|
|
|
count :count_of_approved_skills, :skills do
|
|
filter(expr(removed == false and status == :approved))
|
|
end
|
|
|
|
count :count_of_skills, :skills do
|
|
filter(expr(removed == false))
|
|
end
|
|
end
|
|
|
|
attributes do
|
|
uuid_primary_key(:id)
|
|
end
|
|
|
|
calculations do
|
|
calculate :all_documentation_approved, :boolean do
|
|
calculation(expr(count_of_skills == count_of_approved_skills))
|
|
load([:count_of_skills, :count_of_approved_skills])
|
|
end
|
|
|
|
calculate :some_documentation_created, :boolean do
|
|
calculation(expr(count_of_documented_skills > 0 && all_documentation_approved == false))
|
|
|
|
load([:count_of_documented_skills, :all_documentation_approved])
|
|
end
|
|
end
|
|
|
|
postgres do
|
|
table "complex_calculations_certifications"
|
|
repo(AshPostgres.TestRepo)
|
|
end
|
|
|
|
relationships do
|
|
has_many(:skills, AshPostgres.Test.ComplexCalculations.Skill)
|
|
end
|
|
end
|