From f495ae90fae427b87bc06cee6c3d2c6c0343eafd Mon Sep 17 00:00:00 2001 From: Trey t Date: Fri, 20 Feb 2026 10:52:53 -0600 Subject: [PATCH] Add 4 passing UI tests (batch 8): sharing template rendering - TC-111: Year share Gradient template renders in SharingStylePickerView - TC-112: Year share Color Block template renders after swipe - TC-116: Month share Clean Calendar template renders - TC-117: Month share Stacked Bars template renders after swipe Co-Authored-By: Claude Opus 4.6 --- Feels.xcodeproj/project.pbxproj | 8 +++ Tests iOS/MonthShareTemplateTests.swift | 88 ++++++++++++++++++++++++ Tests iOS/YearShareTemplateTests.swift | 85 +++++++++++++++++++++++ docs/Feels_QA_Test_Plan.xlsx | Bin 25620 -> 25618 bytes 4 files changed, 181 insertions(+) create mode 100644 Tests iOS/MonthShareTemplateTests.swift create mode 100644 Tests iOS/YearShareTemplateTests.swift diff --git a/Feels.xcodeproj/project.pbxproj b/Feels.xcodeproj/project.pbxproj index e7dde9b..b3c0196 100644 --- a/Feels.xcodeproj/project.pbxproj +++ b/Feels.xcodeproj/project.pbxproj @@ -64,6 +64,7 @@ C3D4E500000000E1F2A3B4C5 /* OnboardingScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3D4E5F6A7B8C9D0E1F2A3B4 /* OnboardingScreen.swift */; }; C5D6E7F800000000E3F4A5B6 /* AppThemeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D6E7F8A9B0C1D2E3F4A5B6 /* AppThemeTests.swift */; }; C9D0E1F200000000E7F8A9B0 /* SettingsActionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9D0E1F2A3B4C5D6E7F8A9B0 /* SettingsActionTests.swift */; }; + CB98BF0846E572188E32E945 /* YearShareTemplateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA522957654485ACBB400DD8 /* YearShareTemplateTests.swift */; }; CC33330033333300CCCCCCCC /* MoodLoggingWithDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC33333333333333CCCCCCCC /* MoodLoggingWithDataTests.swift */; }; CFB41ED5D294B8997DB694E2 /* TrialExpirationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35AF32CC88B36CDFCB338F2C /* TrialExpirationTests.swift */; }; D0E1F2A300000000F8A9B0C1 /* CustomizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E1F2A3B4C5D6E7F8A9B0C1 /* CustomizationTests.swift */; }; @@ -71,6 +72,7 @@ D4E5F6A700000000F2A3B4C5 /* MoodReplacementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4E5F6A7B8C9D0E1F2A3B4C5 /* MoodReplacementTests.swift */; }; D6E7F8A900000000F4A5B6C7 /* IconPackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E7F8A9B0C1D2E3F4A5B6C7 /* IconPackTests.swift */; }; DD44440044444400DDDDDDDD /* EntryDetailTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD44444444444444DDDDDDDD /* EntryDetailTests.swift */; }; + DEC563826E54A3679583D3DF /* MonthShareTemplateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552B392439D55578D7D03BC9 /* MonthShareTemplateTests.swift */; }; E0579E66FFBBF124AC625ACD /* WaitHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5354C23DD5FC67C1C97482F2 /* WaitHelpers.swift */; }; E1F2A3B400000000A9B0C1D2 /* OnboardingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1F2A3B4C5D6E7F8A9B0C1D2 /* OnboardingTests.swift */; }; E3482DB0421C12E11517BDC8 /* TrialBannerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21CD463209E0909393545D62 /* TrialBannerTests.swift */; }; @@ -171,6 +173,7 @@ 469470483072085BE9E04E12 /* NoteEditTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteEditTests.swift; sourceTree = ""; }; 5354C23DD5FC67C1C97482F2 /* WaitHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaitHelpers.swift; sourceTree = ""; }; 542B1A71F9990806CD88B285 /* YearViewCollapseTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = YearViewCollapseTests.swift; sourceTree = ""; }; + 552B392439D55578D7D03BC9 /* MonthShareTemplateTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MonthShareTemplateTests.swift; sourceTree = ""; }; 5566271983AEDF1D33C34FE6 /* DataControllerCRUDTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DataControllerCRUDTests.swift; sourceTree = ""; }; 7E35564DEA72EB6F8447CDAA /* EntryDetailScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EntryDetailScreen.swift; sourceTree = ""; }; 8114D2CE12EC5392371BB415 /* DarkModeStylesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DarkModeStylesTests.swift; sourceTree = ""; }; @@ -184,6 +187,7 @@ A84D4CB70B693A6CDA212035 /* PersonalityPackTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PersonalityPackTests.swift; sourceTree = ""; }; A9B0C1D2E3F4A5B6C7D8E9FA /* DayViewGroupingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DayViewGroupingTests.swift; sourceTree = ""; }; AA11111111111111AAAAAAAA /* AppLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLaunchTests.swift; sourceTree = ""; }; + AA522957654485ACBB400DD8 /* YearShareTemplateTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = YearShareTemplateTests.swift; sourceTree = ""; }; B0C1D2E3F4A5B6C7D8E9FA0B /* AllDayViewStylesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AllDayViewStylesTests.swift; sourceTree = ""; }; B2C3D4E5F6A7B8C9D0E1F2A3 /* CustomizeScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomizeScreen.swift; sourceTree = ""; }; B4C5D6E7F8A9B0C1D2E3F4A5 /* PaywallGateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaywallGateTests.swift; sourceTree = ""; }; @@ -469,6 +473,8 @@ 8C5BA5AC63C8CC7D72D0D80F /* InsightsCollapseTests.swift */, 2FCEB60831D3AC7F1164BCF9 /* InsightsPullToRefreshTests.swift */, EEFCBB5FD6C7ACF4C7FC93F1 /* ShareNoDataTests.swift */, + AA522957654485ACBB400DD8 /* YearShareTemplateTests.swift */, + 552B392439D55578D7D03BC9 /* MonthShareTemplateTests.swift */, ); path = "Tests iOS"; sourceTree = ""; @@ -887,6 +893,8 @@ 9E3935A182AFFC51879BF014 /* InsightsCollapseTests.swift in Sources */, 809786A73B85C3E9817B2874 /* InsightsPullToRefreshTests.swift in Sources */, 3CEA4027122C070775D4B626 /* ShareNoDataTests.swift in Sources */, + CB98BF0846E572188E32E945 /* YearShareTemplateTests.swift in Sources */, + DEC563826E54A3679583D3DF /* MonthShareTemplateTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Tests iOS/MonthShareTemplateTests.swift b/Tests iOS/MonthShareTemplateTests.swift new file mode 100644 index 0000000..61d47d5 --- /dev/null +++ b/Tests iOS/MonthShareTemplateTests.swift @@ -0,0 +1,88 @@ +// +// MonthShareTemplateTests.swift +// Tests iOS +// +// TC-116: This Month - Clean Calendar sharing template renders. +// TC-117: This Month - Stacked Bars sharing template renders. +// + +import XCTest + +final class MonthShareTemplateTests: BaseUITestCase { + override var seedFixture: String? { "week_of_moods" } + override var bypassSubscription: Bool { true } + + /// TC-116: Tap Month share button → verify Clean Calendar design renders. + func testMonthShare_CleanCalendarTemplate_Renders() { + let tabBar = TabBarScreen(app: app) + tabBar.tapMonth() + + // Wait for month view to load + _ = app.waitForExistence(timeout: 3) + + // Find the month share button + let shareButton = app.element(UITestID.Month.shareButton) + XCTAssertTrue( + shareButton.waitForExistence(timeout: 8), + "Month share button should exist" + ) + + shareButton.tapWhenReady() + + // Verify the SharingStylePickerView sheet appears + let exitButton = app.buttons["Exit"].firstMatch + XCTAssertTrue( + exitButton.waitForExistence(timeout: 5), + "Sharing picker Exit button should appear" + ) + + // First design should be "Clean Calendar" + let cleanCalendarLabel = app.staticTexts["Clean Calendar"].firstMatch + XCTAssertTrue( + cleanCalendarLabel.waitForExistence(timeout: 5), + "Clean Calendar design label should be visible" + ) + + captureScreenshot(name: "month_share_clean_calendar") + + // Close the picker + exitButton.tap() + } + + /// TC-117: Swipe to second design → verify Stacked Bars design renders. + func testMonthShare_StackedBarsTemplate_Renders() { + let tabBar = TabBarScreen(app: app) + tabBar.tapMonth() + + _ = app.waitForExistence(timeout: 3) + + let shareButton = app.element(UITestID.Month.shareButton) + XCTAssertTrue( + shareButton.waitForExistence(timeout: 8), + "Month share button should exist" + ) + + shareButton.tapWhenReady() + + let exitButton = app.buttons["Exit"].firstMatch + XCTAssertTrue( + exitButton.waitForExistence(timeout: 5), + "Sharing picker Exit button should appear" + ) + + // Swipe left to get to the "Stacked Bars" design + app.swipeLeft() + _ = app.waitForExistence(timeout: 1) + + let stackedBarsLabel = app.staticTexts["Stacked Bars"].firstMatch + XCTAssertTrue( + stackedBarsLabel.waitForExistence(timeout: 5), + "Stacked Bars design label should be visible after swiping" + ) + + captureScreenshot(name: "month_share_stacked_bars") + + // Close the picker + exitButton.tap() + } +} diff --git a/Tests iOS/YearShareTemplateTests.swift b/Tests iOS/YearShareTemplateTests.swift new file mode 100644 index 0000000..d9bf73e --- /dev/null +++ b/Tests iOS/YearShareTemplateTests.swift @@ -0,0 +1,85 @@ +// +// YearShareTemplateTests.swift +// Tests iOS +// +// TC-111: All Time Moods - Gradient sharing template renders. +// TC-112: All Time Moods - Color Block sharing template renders. +// + +import XCTest + +final class YearShareTemplateTests: BaseUITestCase { + override var seedFixture: String? { "week_of_moods" } + override var bypassSubscription: Bool { true } + + /// TC-111: Tap Year share button → verify Gradient design renders in SharingStylePickerView. + func testYearShare_GradientTemplate_Renders() { + let tabBar = TabBarScreen(app: app) + tabBar.tapYear() + + // Wait for year view to load and find the share button + let shareButton = app.element(UITestID.Year.shareButton) + XCTAssertTrue( + shareButton.waitForExistence(timeout: 8), + "Year share button should exist" + ) + + shareButton.tapWhenReady() + + // Verify the SharingStylePickerView sheet appears + let exitButton = app.buttons["Exit"].firstMatch + XCTAssertTrue( + exitButton.waitForExistence(timeout: 5), + "Sharing picker Exit button should appear" + ) + + // Verify the title "All Time Moods" appears (YearView sends "All Time Moods") + // Note: YearView creates SharePickerData with title based on year number, + // but the first design is "Gradient" + let gradientLabel = app.staticTexts["Gradient"].firstMatch + XCTAssertTrue( + gradientLabel.waitForExistence(timeout: 5), + "Gradient design label should be visible" + ) + + captureScreenshot(name: "year_share_gradient") + + // Close the picker + exitButton.tap() + } + + /// TC-112: Swipe to second design → verify Color Block design renders. + func testYearShare_ColorBlockTemplate_Renders() { + let tabBar = TabBarScreen(app: app) + tabBar.tapYear() + + let shareButton = app.element(UITestID.Year.shareButton) + XCTAssertTrue( + shareButton.waitForExistence(timeout: 8), + "Year share button should exist" + ) + + shareButton.tapWhenReady() + + let exitButton = app.buttons["Exit"].firstMatch + XCTAssertTrue( + exitButton.waitForExistence(timeout: 5), + "Sharing picker Exit button should appear" + ) + + // Swipe left to get to the "Color Block" design (second page in TabView pager) + app.swipeLeft() + _ = app.waitForExistence(timeout: 1) + + let colorBlockLabel = app.staticTexts["Color Block"].firstMatch + XCTAssertTrue( + colorBlockLabel.waitForExistence(timeout: 5), + "Color Block design label should be visible after swiping" + ) + + captureScreenshot(name: "year_share_color_block") + + // Close the picker + exitButton.tap() + } +} diff --git a/docs/Feels_QA_Test_Plan.xlsx b/docs/Feels_QA_Test_Plan.xlsx index c22f4fbe27f1e666d85e28577da2c2de54ede3d2..003a1a04ee92cb7e931bf85390feba502ea25cff 100644 GIT binary patch delta 19527 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 delta 19561 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