From 37fcc26b22396b95f18fccc9abfc82fddb3531ea Mon Sep 17 00:00:00 2001 From: Moritz Date: Mon, 20 Oct 2025 14:53:38 +0200 Subject: [PATCH] add seed test --- test/seeds_test.exs | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 test/seeds_test.exs diff --git a/test/seeds_test.exs b/test/seeds_test.exs new file mode 100644 index 0000000..5c589ae --- /dev/null +++ b/test/seeds_test.exs @@ -0,0 +1,46 @@ +defmodule Mv.SeedsTest do + use Mv.DataCase, async: false + + describe "Seeds script" do + test "runs successfully without errors" do + # Run the seeds script - should not raise any errors + assert Code.eval_file("priv/repo/seeds.exs") + + # Basic smoke test: ensure some data was created + {:ok, users} = Ash.read(Mv.Accounts.User) + {:ok, members} = Ash.read(Mv.Membership.Member) + {:ok, property_types} = Ash.read(Mv.Membership.PropertyType) + + assert length(users) > 0, "Seeds should create at least one user" + assert length(members) > 0, "Seeds should create at least one member" + assert length(property_types) > 0, "Seeds should create at least one property type" + end + + test "can be run multiple times (idempotent)" do + # Run seeds first time + assert Code.eval_file("priv/repo/seeds.exs") + + # Count records + {:ok, users_count_1} = Ash.read(Mv.Accounts.User) + {:ok, members_count_1} = Ash.read(Mv.Membership.Member) + {:ok, property_types_count_1} = Ash.read(Mv.Membership.PropertyType) + + # Run seeds second time - should not raise errors + assert Code.eval_file("priv/repo/seeds.exs") + + # Count records again - should be the same (upsert, not duplicate) + {:ok, users_count_2} = Ash.read(Mv.Accounts.User) + {:ok, members_count_2} = Ash.read(Mv.Membership.Member) + {:ok, property_types_count_2} = Ash.read(Mv.Membership.PropertyType) + + assert length(users_count_1) == length(users_count_2), + "Users count should remain same after re-running seeds" + + assert length(members_count_1) == length(members_count_2), + "Members count should remain same after re-running seeds" + + assert length(property_types_count_1) == length(property_types_count_2), + "PropertyTypes count should remain same after re-running seeds" + end + end +end