add seed test
This commit is contained in:
parent
1495ef4592
commit
37fcc26b22
1 changed files with 46 additions and 0 deletions
46
test/seeds_test.exs
Normal file
46
test/seeds_test.exs
Normal file
|
|
@ -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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue