From 354dd37e220cccbf5dcaee87f8603e263ada1cb1 Mon Sep 17 00:00:00 2001 From: Zack Siri Date: Mon, 1 Jul 2024 19:35:07 +0700 Subject: [PATCH] Add state transitions for assessment --- lib/polar/machines/assessment/transitions.ex | 12 ++++++++++++ .../publish/testing/assessment_controller.ex | 1 - .../publish/testing/assessment_controller_test.exs | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/polar/machines/assessment/transitions.ex b/lib/polar/machines/assessment/transitions.ex index 0bed85e..8775338 100644 --- a/lib/polar/machines/assessment/transitions.ex +++ b/lib/polar/machines/assessment/transitions.ex @@ -10,6 +10,18 @@ defmodule Polar.Machines.Assessment.Transitions do fn changes -> transit(changes) end ) + Assessment + |> transition( + [from: "failed", to: "running", via: "run"], + fn changes -> transit(changes) end + ) + + Assessment + |> transition( + [from: "running", to: "running", via: "run"], + fn changes -> transit(changes) end + ) + Assessment |> transition( [from: "running", to: "passed", via: "pass"], diff --git a/lib/polar_web/controllers/publish/testing/assessment_controller.ex b/lib/polar_web/controllers/publish/testing/assessment_controller.ex index 2cb4738..b2eec0d 100644 --- a/lib/polar_web/controllers/publish/testing/assessment_controller.ex +++ b/lib/polar_web/controllers/publish/testing/assessment_controller.ex @@ -15,7 +15,6 @@ defmodule PolarWeb.Publish.Testing.AssessmentController do assessment = Repo.preload(assessment, [:check]) conn - |> put_status(:created) |> render(:create, %{assessment: assessment}) end end diff --git a/test/polar_web/controllers/publish/testing/assessment_controller_test.exs b/test/polar_web/controllers/publish/testing/assessment_controller_test.exs index cf9b304..caa11ae 100644 --- a/test/polar_web/controllers/publish/testing/assessment_controller_test.exs +++ b/test/polar_web/controllers/publish/testing/assessment_controller_test.exs @@ -74,7 +74,7 @@ defmodule PolarWeb.Publish.Testing.AssessmentControllerTest do } }) - assert %{"data" => data} = json_response(conn, 201) + assert %{"data" => data} = json_response(conn, 200) assert %{"id" => _id, "current_state" => "created", "check" => _check} = data end