 RichardandClaude Opus 4.8
|
92a88e8be8
|
Phase 7: Mapping-Randfälle + Parser-/Repo-Randfälle (78 Tests)
- DbContextModelTests: feinkörnige Modell-Invarianten - Dezimal-Präzision (18,6)
auf Geldfeldern (Core + Settings), MaxLength auf Strings, manuell gesetzte Keys
(ValueGeneratedNever), AssignedAccountIds hat Value-Converter + text-Spalte,
MarketData JSON-Spalten = text, Indizes (TradeRecord.ClosedAt,
MasterTraderHistory TraderId/ClosedAt).
(GetColumnType() wirft unter InMemory -> Spaltentyp via Relational:ColumnType-
Annotation ausgelesen.)
- MongoExportParserTests erweitert: numerische statt String-Dezimale, unbekannte
Felder ignoriert, mehrere Dokumente in Reihenfolge, AssignedAccountIds als
String-Zahlen, IsActive-Default.
- RepositoryEdgeCaseTests: GetAll leer != null, Update-Alias, Factory-Isolation,
History-Exists/GetByTraderSince inklusive an den Grenzen.
Alle 78 gruen. (Copytrading-Service-Logik bewusst noch nicht getestet - wird
parallel ueberarbeitet.)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-07 09:16:03 +02:00 |
|
 RichardandClaude Opus 4.8
|
1b51872f00
|
Phase 7: Tests erweitert + Mongo-Parser extrahiert (testbar)
Tests (jetzt 48 grün):
- DbContextMappingTests: sichert core_/mod_-Tabellennamen, Position-Composite-Key,
TrackedTrader-Key, ClosedTradeRow nicht gemappt, AccountState.OpenPositions ignoriert.
- PositionRepositoryTests: Live/Demo-Trennung, Upsert setzt Account+Demo-Flag,
Update ohne Duplikat, DeleteLive, DropDemo.
- MarketRepositoryTests: GetActive filtert Closed, Upsert-Update, FindByTokenId.
- TradeLogRepositoryTests: GetRecent (Sortierung+Limit), Find-Predikat, Guid-Id unique.
- MongoExportParserTests: String-Dezimale, null->"", fehlende Felder->Default,
AssignedAccountIds-Array, Category-Default, Nicht-Array->leer.
Refactor:
- Mongo-Export-Parsing aus ConfigMigrator in testbare Klasse
PolyTrader.Modules.CopyTrading.ConfigImport.MongoExportParser ausgelagert
(ParseAccounts -> Account+Settings, ParseTraders). ConfigMigrator nutzt sie;
--migrate-json end-to-end verifiziert (3/3/32).
- PolyTrader.App.csproj: tests/** vom Default-Glob ausgeschlossen (App zog sonst
die Testdateien mit rein -> doppelte AssemblyInfo/Xunit-Fehler).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-06 11:52:52 +02:00 |
|