Tighten record_sets delete and duplicate assertions

Assert deleted.id == set.id on delete, and pin the duplicate error to the
specific field and message from the unique_constraint on record_set_id.

Refs #176
This commit is contained in:
Claudio Ortolina
2026-04-19 22:46:08 +01:00
parent 60e95804ad
commit 66c36f4d09
+4 -2
View File
@@ -136,7 +136,8 @@ defmodule MusicLibrary.RecordSetsTest do
describe "delete_record_set/1" do
test "deletes the record set" do
set = record_set()
assert {:ok, _} = RecordSets.delete_record_set(set)
assert {:ok, deleted} = RecordSets.delete_record_set(set)
assert deleted.id == set.id
assert_raise Ecto.NoResultsError, fn -> RecordSets.get_record_set!(set.id) end
end
end
@@ -156,7 +157,8 @@ defmodule MusicLibrary.RecordSetsTest do
rec = record()
{:ok, _} = RecordSets.add_record_to_set(set, rec.id)
assert {:error, _changeset} = RecordSets.add_record_to_set(set, rec.id)
assert {:error, changeset} = RecordSets.add_record_to_set(set, rec.id)
assert %{record_set_id: ["has already been taken"]} = errors_on(changeset)
end
end