From 790b7522bbba96b40474f2649ba3a8fa0ed6b219 Mon Sep 17 00:00:00 2001 From: Zack Siri Date: Tue, 2 Jul 2024 16:46:03 +0700 Subject: [PATCH] fix issue with returning existing assessment --- lib/polar/machines/assessment/manager.ex | 2 +- .../testing/assessment_controller_test.exs | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/polar/machines/assessment/manager.ex b/lib/polar/machines/assessment/manager.ex index e46e548..2043d41 100644 --- a/lib/polar/machines/assessment/manager.ex +++ b/lib/polar/machines/assessment/manager.ex @@ -14,7 +14,7 @@ defmodule Polar.Machines.Assessment.Manager do ) |> case do %Assessment{} = assessment -> - assessment + {:ok, assessment} nil -> create(version, params) 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 4bdddf0..3b2b071 100644 --- a/test/polar_web/controllers/publish/testing/assessment_controller_test.exs +++ b/test/polar_web/controllers/publish/testing/assessment_controller_test.exs @@ -79,6 +79,31 @@ defmodule PolarWeb.Publish.Testing.AssessmentControllerTest do assert %{"id" => _id, "current_state" => "created", "check" => _check} = data end + test "when assessment already exists", %{ + version: version, + conn: conn, + check: check, + cluster: cluster + } do + {:ok, _assessment} = + Machines.get_or_create_assessment(version, %{ + check_id: check.id, + cluster_id: cluster.id, + instance_type: "container" + }) + + conn = + post(conn, ~p"/publish/testing/versions/#{version.id}/assessments", %{ + "assessment" => %{ + "check_id" => check.id, + "cluster_id" => cluster.id, + "instance_type" => "container" + } + }) + + assert %{"data" => _data} = json_response(conn, 200) + end + test "invalid parameter passed in", %{ version: version, conn: conn,