All checks were successful
continuous-integration/drone/push Build is passing
Complete refactoring of resources, database tables, code references, tests, and documentation for improved naming consistency.
46 lines
1.8 KiB
Elixir
46 lines
1.8 KiB
Elixir
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, custom_fields} = Ash.read(Mv.Membership.CustomField)
|
|
|
|
assert length(users) > 0, "Seeds should create at least one user"
|
|
assert length(members) > 0, "Seeds should create at least one member"
|
|
assert length(custom_fields) > 0, "Seeds should create at least one custom field"
|
|
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, custom_fields_count_1} = Ash.read(Mv.Membership.CustomField)
|
|
|
|
# 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, custom_fields_count_2} = Ash.read(Mv.Membership.CustomField)
|
|
|
|
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(custom_fields_count_1) == length(custom_fields_count_2),
|
|
"CustomFields count should remain same after re-running seeds"
|
|
end
|
|
end
|
|
end
|