From 537f8621c60b944c61edc86e555fd479af400f2d Mon Sep 17 00:00:00 2001 From: Trey t Date: Fri, 20 Feb 2026 10:19:55 -0600 Subject: [PATCH] Add 3 passing UI tests (batch 5): heatmap, reduce motion, high contrast - TC-148: Year View heatmap grid renders with data (added accessibility ID) - TC-143: App navigable with Reduce Motion enabled - TC-144: App navigable with High Contrast mode enabled - Marked 89 blocked tests RED in QA spreadsheet Co-Authored-By: Claude Opus 4.6 --- Feels.xcodeproj/project.pbxproj | 12 ++++++ Shared/Views/YearView/YearView.swift | 1 + Tests iOS/Helpers/WaitHelpers.swift | 1 + Tests iOS/HighContrastTests.swift | 61 +++++++++++++++++++++++++++ Tests iOS/ReduceMotionTests.swift | 61 +++++++++++++++++++++++++++ Tests iOS/YearViewHeatmapTests.swift | 37 ++++++++++++++++ docs/Feels_QA_Test_Plan.xlsx | Bin 25550 -> 25414 bytes 7 files changed, 173 insertions(+) create mode 100644 Tests iOS/HighContrastTests.swift create mode 100644 Tests iOS/ReduceMotionTests.swift create mode 100644 Tests iOS/YearViewHeatmapTests.swift diff --git a/Feels.xcodeproj/project.pbxproj b/Feels.xcodeproj/project.pbxproj index fb37e75..18d9431 100644 --- a/Feels.xcodeproj/project.pbxproj +++ b/Feels.xcodeproj/project.pbxproj @@ -8,6 +8,8 @@ /* Begin PBXBuildFile section */ 06E4767B5977FAC8B644FC92 /* IntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CFAE86F485C853DB3239DD9 /* IntegrationTests.swift */; }; + 141C5C51CA0658F682E984F5 /* ReduceMotionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C8D04ACF01F539EA572EEB8 /* ReduceMotionTests.swift */; }; + 19F8D7CA5D384E82A4BB4BCA /* YearViewHeatmapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9475CC3818201762FA57D91 /* YearViewHeatmapTests.swift */; }; 1AB245144C89927264D16645 /* InsightsEmptyStateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6988985985DE9C29CFDFA96 /* InsightsEmptyStateTests.swift */; }; 1C0DAB51279DB0FB003B1F21 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 1C0DAB50279DB0FB003B1F21 /* Localizable.xcstrings */; }; 1C0DAB52279DB0FB003B1F22 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 1C0DAB50279DB0FB003B1F21 /* Localizable.xcstrings */; }; @@ -72,6 +74,7 @@ EE55550055555500EEEEEEEE /* SettingsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE55555555555555EEEEEEEE /* SettingsTests.swift */; }; EEB21B1CAA8EAEB497BD9FB3 /* DataControllerCRUDTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5566271983AEDF1D33C34FE6 /* DataControllerCRUDTests.swift */; }; F2A3B400000000B0C1D2E3F4 /* StabilityTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2A3B4C5D6E7F8A9B0C1D2E3 /* StabilityTests.swift */; }; + F5C77B3C81A9180E138BF226 /* HighContrastTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5A135CC76572BAD0445B0DD /* HighContrastTests.swift */; }; F6A7B8C900000000B4C5D6E7 /* EntryDeleteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6A7B8C9D0E1F2A3B4C5D6E7 /* EntryDeleteTests.swift */; }; F75470AA2BA1E9EFF8F5265A /* LocalizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DC4C498A1185DC831F4593 /* LocalizationTests.swift */; }; F8A9B0C100000000B6C7D8E9 /* HeaderMoodLoggingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8A9B0C1D2E3F4A5B6C7D8E9 /* HeaderMoodLoggingTests.swift */; }; @@ -153,6 +156,7 @@ 21CD463209E0909393545D62 /* TrialBannerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrialBannerTests.swift; sourceTree = ""; }; 29CE4110A0D8FBBAD7F92BDF /* BaseUITestCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseUITestCase.swift; sourceTree = ""; }; 29E2A2FC314F88244CA946BF /* StreakTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StreakTests.swift; sourceTree = ""; }; + 2C8D04ACF01F539EA572EEB8 /* ReduceMotionTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ReduceMotionTests.swift; sourceTree = ""; }; 31C2982F0B879A0C57273F0E /* SpanishLocalizationTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SpanishLocalizationTests.swift; sourceTree = ""; }; 35AF32CC88B36CDFCB338F2C /* TrialExpirationTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TrialExpirationTests.swift; sourceTree = ""; }; 427CD9C91D43AB6A0302B4DD /* DayScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DayScreen.swift; sourceTree = ""; }; @@ -190,6 +194,7 @@ D4E5F60708091011ABCDE001 /* DayViewViewModelTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DayViewViewModelTests.swift; sourceTree = ""; }; D4E5F6A7B8C9D0E1F2A3B4C5 /* MoodReplacementTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoodReplacementTests.swift; sourceTree = ""; }; D6E7F8A9B0C1D2E3F4A5B6C7 /* IconPackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconPackTests.swift; sourceTree = ""; }; + D9475CC3818201762FA57D91 /* YearViewHeatmapTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = YearViewHeatmapTests.swift; sourceTree = ""; }; DA0D74ACDD741CFA1F14F50F /* FeelsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FeelsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; DD44444444444444DDDDDDDD /* EntryDetailTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EntryDetailTests.swift; sourceTree = ""; }; DD717F91BD65382B7DDFE3C4 /* VoteLogicsTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = VoteLogicsTests.swift; sourceTree = ""; }; @@ -199,6 +204,7 @@ EE55555555555555EEEEEEEE /* SettingsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsTests.swift; sourceTree = ""; }; F2A3B4C5D6E7F8A9B0C1D2E3 /* StabilityTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StabilityTests.swift; sourceTree = ""; }; F4D304CD05CC7C662CCD7DCB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + F5A135CC76572BAD0445B0DD /* HighContrastTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HighContrastTests.swift; sourceTree = ""; }; F6A7B8C9D0E1F2A3B4C5D6E7 /* EntryDeleteTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EntryDeleteTests.swift; sourceTree = ""; }; F8A9B0C1D2E3F4A5B6C7D8E9 /* HeaderMoodLoggingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderMoodLoggingTests.swift; sourceTree = ""; }; F9A9583BE84E8DC13DB61F2B /* DeepLinkTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeepLinkTests.swift; sourceTree = ""; }; @@ -442,6 +448,9 @@ A84D4CB70B693A6CDA212035 /* PersonalityPackTests.swift */, 31C2982F0B879A0C57273F0E /* SpanishLocalizationTests.swift */, C033EE00E7E7B3448FB862DA /* AccessibilityTextSizeTests.swift */, + D9475CC3818201762FA57D91 /* YearViewHeatmapTests.swift */, + 2C8D04ACF01F539EA572EEB8 /* ReduceMotionTests.swift */, + F5A135CC76572BAD0445B0DD /* HighContrastTests.swift */, ); path = "Tests iOS"; sourceTree = ""; @@ -851,6 +860,9 @@ FE1A332D03B0F969BAF26CEF /* PersonalityPackTests.swift in Sources */, 39C43652C41F5459788A604D /* SpanishLocalizationTests.swift in Sources */, 85EF4702AE378AB3198E67D3 /* AccessibilityTextSizeTests.swift in Sources */, + 19F8D7CA5D384E82A4BB4BCA /* YearViewHeatmapTests.swift in Sources */, + 141C5C51CA0658F682E984F5 /* ReduceMotionTests.swift in Sources */, + F5C77B3C81A9180E138BF226 /* HighContrastTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Shared/Views/YearView/YearView.swift b/Shared/Views/YearView/YearView.swift index 1eea40a..43ec8ae 100644 --- a/Shared/Views/YearView/YearView.swift +++ b/Shared/Views/YearView/YearView.swift @@ -609,6 +609,7 @@ struct YearCard: View, Equatable { yearIndex: yearIndex, demoManager: demoManager ) + .accessibilityIdentifier(AccessibilityID.YearView.heatmap) .padding(.horizontal, 16) .padding(.bottom, 16) } diff --git a/Tests iOS/Helpers/WaitHelpers.swift b/Tests iOS/Helpers/WaitHelpers.swift index 5fb4832..6a75093 100644 --- a/Tests iOS/Helpers/WaitHelpers.swift +++ b/Tests iOS/Helpers/WaitHelpers.swift @@ -87,6 +87,7 @@ enum UITestID { } enum Year { + static let heatmap = "year_heatmap" static let donutChart = "year_donut_chart" static let barChart = "year_bar_chart" static let statsSection = "year_stats_section" diff --git a/Tests iOS/HighContrastTests.swift b/Tests iOS/HighContrastTests.swift new file mode 100644 index 0000000..0bd23bd --- /dev/null +++ b/Tests iOS/HighContrastTests.swift @@ -0,0 +1,61 @@ +// +// HighContrastTests.swift +// Tests iOS +// +// TC-144: App remains functional in High Contrast mode. +// + +import XCTest + +final class HighContrastTests: BaseUITestCase { + override var seedFixture: String? { "single_mood" } + override var bypassSubscription: Bool { true } + + override func setUp() { + // Do NOT call super — we need custom accessibility launch args + continueAfterFailure = false + + let application = XCUIApplication() + let args: [String] = [ + "--ui-testing", "--disable-animations", + "--reset-state", + "--bypass-subscription", + "--skip-onboarding", + "-AppleLanguages", "(en)", + "-AppleLocale", "en_US", + "-UIAccessibilityDarkerSystemColorsEnabled", "YES" + ] + application.launchArguments = args + application.launchEnvironment = ["UI_TEST_FIXTURE": "single_mood"] + application.launch() + app = application + } + + /// TC-144: App is navigable with High Contrast mode enabled. + func testHighContrast_AppRemainsNavigable() { + // Day tab should have content + assertDayContentVisible() + + captureScreenshot(name: "high_contrast_day") + + let tabBar = TabBarScreen(app: app) + + // Navigate through tabs + tabBar.tapMonth() + XCTAssertTrue( + tabBar.monthTab.waitForExistence(timeout: 5), + "Month tab should work with High Contrast" + ) + + tabBar.tapYear() + XCTAssertTrue( + tabBar.yearTab.waitForExistence(timeout: 5), + "Year tab should work with High Contrast" + ) + + let settingsScreen = tabBar.tapSettings() + settingsScreen.assertVisible() + + captureScreenshot(name: "high_contrast_settings") + } +} diff --git a/Tests iOS/ReduceMotionTests.swift b/Tests iOS/ReduceMotionTests.swift new file mode 100644 index 0000000..ee69170 --- /dev/null +++ b/Tests iOS/ReduceMotionTests.swift @@ -0,0 +1,61 @@ +// +// ReduceMotionTests.swift +// Tests iOS +// +// TC-143: App remains functional with Reduce Motion enabled. +// + +import XCTest + +final class ReduceMotionTests: BaseUITestCase { + override var seedFixture: String? { "single_mood" } + override var bypassSubscription: Bool { true } + + override func setUp() { + // Do NOT call super — we need custom accessibility launch args + continueAfterFailure = false + + let application = XCUIApplication() + let args: [String] = [ + "--ui-testing", "--disable-animations", + "--reset-state", + "--bypass-subscription", + "--skip-onboarding", + "-AppleLanguages", "(en)", + "-AppleLocale", "en_US", + "-UIReduceMotionPreference", "YES" + ] + application.launchArguments = args + application.launchEnvironment = ["UI_TEST_FIXTURE": "single_mood"] + application.launch() + app = application + } + + /// TC-143: App is navigable with Reduce Motion enabled. + func testReduceMotion_AppRemainsNavigable() { + // Day tab should have content + assertDayContentVisible() + + captureScreenshot(name: "reduce_motion_day") + + let tabBar = TabBarScreen(app: app) + + // Navigate through tabs + tabBar.tapMonth() + XCTAssertTrue( + tabBar.monthTab.waitForExistence(timeout: 5), + "Month tab should work with Reduce Motion" + ) + + tabBar.tapYear() + XCTAssertTrue( + tabBar.yearTab.waitForExistence(timeout: 5), + "Year tab should work with Reduce Motion" + ) + + let settingsScreen = tabBar.tapSettings() + settingsScreen.assertVisible() + + captureScreenshot(name: "reduce_motion_settings") + } +} diff --git a/Tests iOS/YearViewHeatmapTests.swift b/Tests iOS/YearViewHeatmapTests.swift new file mode 100644 index 0000000..e41a4d8 --- /dev/null +++ b/Tests iOS/YearViewHeatmapTests.swift @@ -0,0 +1,37 @@ +// +// YearViewHeatmapTests.swift +// Tests iOS +// +// TC-148: Year View heatmap grid renders with data. +// + +import XCTest + +final class YearViewHeatmapTests: BaseUITestCase { + override var seedFixture: String? { "week_of_moods" } + override var bypassSubscription: Bool { true } + + /// TC-148: Year View heatmap grid is visible and rendered. + func testYearView_HeatmapRendered() { + let tabBar = TabBarScreen(app: app) + tabBar.tapYear() + + XCTAssertTrue(tabBar.yearTab.isSelected, "Year tab should be selected") + + // Heatmap grid should be visible + let heatmap = app.element(UITestID.Year.heatmap) + XCTAssertTrue( + heatmap.waitForExistence(timeout: 8), + "Year View heatmap grid should be visible with data" + ) + + // Stats section should also be visible (has data) + let statsSection = app.element(UITestID.Year.statsSection) + XCTAssertTrue( + statsSection.waitForExistence(timeout: 5), + "Year stats section should be visible" + ) + + captureScreenshot(name: "year_heatmap_rendered") + } +} diff --git a/docs/Feels_QA_Test_Plan.xlsx b/docs/Feels_QA_Test_Plan.xlsx index d1b3fffc7d423db2ba04a619d3593c8be0014b8a..8b3d51022468ba423fe76857af610be551f48a78 100644 GIT binary patch delta 19939 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