feat(seed): seed Form 990 line catalog and default subcategory mappings
This commit is contained in:
@@ -45,4 +45,24 @@ public class DbSeederForm990Tests
|
||||
|
||||
Assert.Single(groups, g => g.Name_en == "Professional Services");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SeedForm990Lines_CreatesCatalog_AndMapsKnownSubcategories()
|
||||
{
|
||||
using var db = BuildDb();
|
||||
await DbSeeder.SeedExpenseCategoriesAsync(db);
|
||||
await DbSeeder.SeedForm990ExpenseLinesAsync(db);
|
||||
await DbSeeder.SeedForm990ExpenseLinesAsync(db); // idempotent
|
||||
|
||||
Assert.Equal(1, await db.Form990ExpenseLines.CountAsync(l => l.LineCode == "7"));
|
||||
Assert.True(await db.Form990ExpenseLines.AnyAsync(l => l.LineCode == "24"));
|
||||
|
||||
var salary = await db.ExpenseSubCategories.Include(s => s.Form990Line)
|
||||
.FirstAsync(s => s.Name_en == "Salary & Wages");
|
||||
Assert.Equal("7", salary.Form990Line!.LineCode);
|
||||
|
||||
var audit = await db.ExpenseSubCategories.Include(s => s.Form990Line)
|
||||
.FirstAsync(s => s.Name_en == "Accounting & Audit");
|
||||
Assert.Equal("11c", audit.Form990Line!.LineCode);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user