mirror of
https://github.com/ash-project/ash_state_machine.git
synced 2024-09-19 04:43:11 +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
|
||||
elixir 1.15.4
|
||||
erlang 27.0.1
|
||||
elixir 1.17.2-otp-27
|
||||
|
|
|
@ -20,9 +20,9 @@ defmodule AshStateMachine.Checks.ValidNextState do
|
|||
Ash.Changeset.get_attribute(changeset, attribute) ||
|
||||
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
|
||||
{:ok, true}
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -44,7 +44,7 @@ defmodule AshStateMachine.Checks.ValidNextState do
|
|||
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
|
||||
{:ok, false}
|
||||
false
|
||||
else
|
||||
states_expr =
|
||||
Enum.reduce(transitions, nil, fn transition, expr ->
|
||||
|
@ -60,7 +60,7 @@ defmodule AshStateMachine.Checks.ValidNextState do
|
|||
end
|
||||
else
|
||||
# state transitions are checked in validations when using `transition_state`
|
||||
{:ok, true}
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -28,7 +28,7 @@ defmodule AshStateMachineTest do
|
|||
|
||||
test "`from: :*` can transition from any state" 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
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue