Tests & Lokalisierung: Abschluss-Audit v1.0

- LogEntryType: CaseIterable-Konformität hinzugefügt
- ModelTests: todoCompleted in allTypesHaveIconAndColor; 2 neue Regressionstests (allCases count=4, stabile rawValues)
- Localizable.xcstrings: 30 fehlende EN-Übersetzungen ergänzt (SettingsView-Sektionen, KI Insights, Todos, Onboarding-Texte u.a.)

502 Tests, 0 Fehler.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-23 13:22:42 +02:00
parent 31a7a2d5df
commit 8427f55f21
3 changed files with 4454 additions and 4219 deletions
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -331,7 +331,7 @@ class Person {
// MARK: - LogEntryType // MARK: - LogEntryType
enum LogEntryType: String, Codable { enum LogEntryType: String, Codable, CaseIterable {
case nextStep = "Schritt abgeschlossen" case nextStep = "Schritt abgeschlossen"
case calendarEvent = "Termin geplant" case calendarEvent = "Termin geplant"
case call = "Anruf" case call = "Anruf"
+17 -4
View File
@@ -511,10 +511,23 @@ struct LogEntryComputedPropertyTests {
@Test("alle LogEntryTypes haben ein nicht-leeres Icon und color") @Test("alle LogEntryTypes haben ein nicht-leeres Icon und color")
func allTypesHaveIconAndColor() { func allTypesHaveIconAndColor() {
let types: [LogEntryType] = [.nextStep, .calendarEvent, .call] for type_ in LogEntryType.allCases {
for type_ in types { #expect(!type_.icon.isEmpty, "\(type_.rawValue) hat leeres icon")
#expect(!type_.icon.isEmpty) #expect(!type_.color.isEmpty, "\(type_.rawValue) hat leere color")
#expect(!type_.color.isEmpty)
} }
} }
@Test(".todoCompleted ist in allCases enthalten Regressionswächter")
func todoCompletedInAllCases() {
#expect(LogEntryType.allCases.contains(.todoCompleted))
#expect(LogEntryType.allCases.count == 4)
}
@Test("Stabile rawValues Regressionswächter")
func stableRawValues() {
#expect(LogEntryType.nextStep.rawValue == "Schritt abgeschlossen")
#expect(LogEntryType.calendarEvent.rawValue == "Termin geplant")
#expect(LogEntryType.call.rawValue == "Anruf")
#expect(LogEntryType.todoCompleted.rawValue == "Todo abgeschlossen")
}
} }