// // EmptyStateTests.swift // Tests iOS // // Empty state display tests. // import XCTest final class EmptyStateTests: BaseUITestCase { override var seedFixture: String? { "empty" } /// TC-020: With no entries, mood header or empty state text is visible. func testEmptyState_ShowsMoodHeaderOrNoData() { let moodHeader = app.element(UITestID.Day.moodHeader) let noDataText = app.element(UITestID.Day.emptyStateNoData) let headerExists = moodHeader.waitForExistence(timeout: navigationTimeout) if !headerExists { noDataText.waitForExistenceOrFail( timeout: defaultTimeout, message: "Either mood header or 'no data' text should be visible in empty state" ) } } /// TC-020b: With no entries, no entry rows exist. func testEmptyState_NoEntryRows() { // Wait for the app to settle by confirming some content is visible let moodHeader = app.element(UITestID.Day.moodHeader) moodHeader.waitForExistenceOrFail(timeout: navigationTimeout, message: "Day screen should be loaded") let entryRow = app.firstEntryRow XCTAssertFalse( entryRow.waitForExistence(timeout: defaultTimeout), "No entry rows should exist in empty state" ) } }