From 4e83f2770383e240e094ea55e800ffed76d00384 Mon Sep 17 00:00:00 2001 From: Chris Chen Date: Wed, 24 Jun 2026 19:21:04 -0700 Subject: [PATCH] feat(seed): default Administration ministry to Management & General Co-Authored-By: Claude Opus 4.8 --- API/ROLAC.API.Tests/Services/DbSeederForm990Tests.cs | 12 ++++++++++++ API/ROLAC.API/Data/DbSeeder.cs | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/API/ROLAC.API.Tests/Services/DbSeederForm990Tests.cs b/API/ROLAC.API.Tests/Services/DbSeederForm990Tests.cs index 6b8932e..6d5afa8 100644 --- a/API/ROLAC.API.Tests/Services/DbSeederForm990Tests.cs +++ b/API/ROLAC.API.Tests/Services/DbSeederForm990Tests.cs @@ -46,6 +46,18 @@ public class DbSeederForm990Tests Assert.Single(groups, g => g.Name_en == "Professional Services"); } + [Fact] + public async Task SeedMinistries_SetsAdministrationToManagementGeneral_OthersProgram() + { + using var db = BuildDb(); + await DbSeeder.SeedMinistriesAsync(db); + + var admin = await db.Ministries.FirstAsync(m => m.Name_en == "Administration"); + var worship = await db.Ministries.FirstAsync(m => m.Name_en == "Worship"); + Assert.Equal("ManagementGeneral", admin.DefaultFunctionalClass); + Assert.Equal("Program", worship.DefaultFunctionalClass); + } + [Fact] public async Task SeedForm990Lines_CreatesCatalog_AndMapsKnownSubcategories() { diff --git a/API/ROLAC.API/Data/DbSeeder.cs b/API/ROLAC.API/Data/DbSeeder.cs index 316b7f5..b1141d4 100644 --- a/API/ROLAC.API/Data/DbSeeder.cs +++ b/API/ROLAC.API/Data/DbSeeder.cs @@ -250,7 +250,13 @@ public static class DbSeeder foreach (var (en, zh, sort) in MinistrySeed) { if (!await db.Ministries.AnyAsync(m => m.Name_en == en)) - db.Ministries.Add(new Ministry { Name_en = en, Name_zh = zh, SortOrder = sort, IsActive = true }); + db.Ministries.Add(new Ministry + { + Name_en = en, Name_zh = zh, SortOrder = sort, IsActive = true, + DefaultFunctionalClass = en == "Administration" + ? FunctionalClasses.ManagementGeneral + : FunctionalClasses.Program, + }); } await db.SaveChangesAsync(); }