mirror of
https://github.com/ash-project/ash_state_machine.git
synced 2024-09-19 12:53:20 +12:00
fix: don't return tuple from valid_next_state
This commit is contained in:
parent
7c03b06264
commit
73615bb455
3 changed files with 7 additions and 7 deletions
|
@ -1,2 +1,2 @@
|
||||||
erlang 26.0.2
|
erlang 27.0.1
|
||||||
elixir 1.15.4
|
elixir 1.17.2-otp-27
|
||||||
|
|
|
@ -20,9 +20,9 @@ defmodule AshStateMachine.Checks.ValidNextState do
|
||||||
Ash.Changeset.get_attribute(changeset, attribute) ||
|
Ash.Changeset.get_attribute(changeset, attribute) ||
|
||||||
AshStateMachine.Info.state_machine_default_initial_state!(changeset.resource)
|
AshStateMachine.Info.state_machine_default_initial_state!(changeset.resource)
|
||||||
|
|
||||||
{:ok, new_state in AshStateMachine.Info.state_machine_initial_states!(changeset.resource)}
|
new_state in AshStateMachine.Info.state_machine_initial_states!(changeset.resource)
|
||||||
else
|
else
|
||||||
{:ok, true}
|
true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ defmodule AshStateMachine.Checks.ValidNextState do
|
||||||
all_states = AshStateMachine.Info.state_machine_all_states(changeset.resource)
|
all_states = AshStateMachine.Info.state_machine_all_states(changeset.resource)
|
||||||
|
|
||||||
if not is_nil(target) && !Ash.Expr.expr?(target) && target not in all_states do
|
if not is_nil(target) && !Ash.Expr.expr?(target) && target not in all_states do
|
||||||
{:ok, false}
|
false
|
||||||
else
|
else
|
||||||
states_expr =
|
states_expr =
|
||||||
Enum.reduce(transitions, nil, fn transition, expr ->
|
Enum.reduce(transitions, nil, fn transition, expr ->
|
||||||
|
@ -60,7 +60,7 @@ defmodule AshStateMachine.Checks.ValidNextState do
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
# state transitions are checked in validations when using `transition_state`
|
# state transitions are checked in validations when using `transition_state`
|
||||||
{:ok, true}
|
true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -28,7 +28,7 @@ defmodule AshStateMachineTest do
|
||||||
|
|
||||||
test "`from: :*` can transition from any state" do
|
test "`from: :*` can transition from any state" do
|
||||||
for state <- [:pending, :confirmed, :on_its_way, :arrived, :error] do
|
for state <- [:pending, :confirmed, :on_its_way, :arrived, :error] do
|
||||||
assert {:ok, machine} = Order.abort(%Order{state: state})
|
assert {:ok, machine} = Order.abort!(%Order{state: state})
|
||||||
assert machine.state == :aborted
|
assert machine.state == :aborted
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue