Final cleanup of the bootstrap-seed refactor (Task 10 of 10): - Delete the GlobalsImporter no-op stub and its two remaining call sites (Program.cs and SVSimTestFactory.cs). All work has moved to per-domain importers since Task 9. - Drop the --captures CLI flag and CapturesDir / shippedCaptures plumbing from Program.cs (BootstrapOptions, ParseArgs, PrintUsage). Bootstrap input is now cards.json + reference CSVs + per-table seed JSON; no more prod-captures directory. - Shrink ImporterBase from 141 to 23 lines: LoadCapture, Serialize, Upsert<T,TKey>, GetInt/GetString/GetBool/GetLong/GetULong all had zero callers after the seed migration. Only ParseWireDateTime survives (still used by PaymentItemImporter and MyPageGlobalsImporter for prod-shaped timestamp strings). - Remove the prod-captures Content Include glob from SVSim.Bootstrap.csproj and both prod-captures globs (production + test-fixture overlay) from SVSim.UnitTests.csproj. Test fixtures now overlay production seeds at Data/seeds/ via the Task 7 layout exclusively. Build clean; 391/391 unit tests passing. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
69 lines
3.6 KiB
XML
69 lines
3.6 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
|
|
<IsPackable>false</IsPackable>
|
|
<IsTestProject>true</IsTestProject>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0" />
|
|
<PackageReference Include="NUnit" Version="3.13.3" />
|
|
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
|
|
<PackageReference Include="NUnit.Analyzers" Version="3.6.1" />
|
|
<PackageReference Include="coverlet.collector" Version="6.0.0" />
|
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.8" />
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.8" />
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.8" />
|
|
<PackageReference Include="Moq" Version="4.20.70" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\SVSim.EmulatedEntrypoint\SVSim.EmulatedEntrypoint.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\SVSim.Bootstrap\SVSim.Bootstrap.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- ReferenceDataImporter / CardCosmeticRewardImporter read CSVs from the runtime "Data"
|
|
folder; mirror Bootstrap's copies into the test output so SVSimTestFactory can call
|
|
the importers after EnsureCreated to populate reference tables. -->
|
|
<Content Include="..\SVSim.Bootstrap\Data\*.csv" Link="Data\%(Filename)%(Extension)">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<!-- Production per-table seed JSON for the per-domain importer pipeline. Same files
|
|
consumed by SVSim.Bootstrap; mirrored here so SeedGlobalsAsync sees them. -->
|
|
<Content Include="..\SVSim.Bootstrap\Data\seeds\**\*.json" Link="Data\seeds\%(RecursiveDir)%(Filename)%(Extension)">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<!-- Test-only fixture seeds overlay the production seeds. Placed AFTER the production glob
|
|
so MSBuild's "last Link wins" rule routes the fixture file into the same test output
|
|
path as the production seed of the same name. Use for per-table fixtures (e.g. packs)
|
|
where the production seed is too large to drive focused integration tests. -->
|
|
<Content Include="..\SVSim.Bootstrap\Data\test-fixtures\seeds\*.json" Link="Data\seeds\%(Filename)%(Extension)">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<!-- StoryImporter integration test fixtures — copied to Story\Fixtures\ in test output. -->
|
|
<Content Include="Story\Fixtures\*.json">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<!-- BuildDeckImporter reads CSVs from a build-deck/ subdirectory; the top-level Data\*.csv
|
|
glob only covers the root. Link both files explicitly so they land in the same relative
|
|
path the importer uses at runtime. -->
|
|
<Content Include="..\SVSim.Bootstrap\Data\build-deck\build_deck_package_master.csv">
|
|
<Link>Data\build-deck\build_deck_package_master.csv</Link>
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="..\SVSim.Bootstrap\Data\build-deck\build_deck_series_master.csv">
|
|
<Link>Data\build-deck\build_deck_series_master.csv</Link>
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
</ItemGroup>
|
|
|
|
</Project>
|