Caluru

Caluru Pre-Submission QA Results

Date: 2026-06-23
Scheme: Caluru (Caluru.xcodeproj)
Simulator: iPhone 17, iOS 26.0
Tester: Automated + partial simulator verification

Automated Test Results

Suite Tests Result
CaluruTests / MealPlanGeneratorTests 18 PASS
CaluruTests / ProgressiveProfilingMapperTests 1 PASS
CaluruUITests 2 PASS
CaluruUITestsLaunchTests 8 configurations PASS
Total 29 PASS

Commands

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

# Unit tests
xcodebuild test \
  -project Caluru.xcodeproj \
  -scheme Caluru \
  -destination 'platform=iOS Simulator,name=iPhone 17' \
  -only-testing:CaluruTests

# UI tests
xcodebuild test \
  -project Caluru.xcodeproj \
  -scheme Caluru \
  -destination 'platform=iOS Simulator,name=iPhone 17' \
  -only-testing:CaluruUITests

# Archive (unsigned smoke test)
xcodebuild archive \
  -project Caluru.xcodeproj \
  -scheme Caluru \
  -destination 'generic/platform=iOS' \
  -archivePath /tmp/Caluru.xcarchive \
  CODE_SIGN_IDENTITY=- CODE_SIGNING_ALLOWED=NO

Archive Build

Check Result
Release archive compiles PASS
Store validation (-validate-for-store) PASS
Signed archive on physical device PENDING — requires distribution certificate in Xcode Organizer

Note: The legacy GuruDeSalud scheme references GuruDeSaludTests/ which is not present in the repo. Use the Caluru scheme for all CI and QA runs.


Manual QA Matrix

Flow Device Status Notes
Fresh install + onboarding (17 screens) Simulator PENDING Requires delete-app reset or -UITesting launch arg; not yet automated end-to-end
Sign in with Apple + session restore Physical PENDING Requires physical device + Apple ID
Barcode scan → nutrition → log meal Physical PENDING Camera + Open Food Facts API
Photo food scan → AI recognition → log Physical + auth PENDING Camera + OpenAI proxy + auth
AI Assistant (chat, log meal, create recipe) Auth required PENDING Requires signed-in user
Weekly plan → shopping list Simulator PENDING Unit tests cover generator logic; UI flow not manually verified
Family (create → invite → accept) Auth + 2 devices PENDING Requires two signed-in devices
Gamification (log meals → XP → celebration) Simulator PENDING Celebration overlay logic untested in UI
Notifications (enable → receive at time) Physical PENDING APNS does not deliver on simulator
Account deletion → clean state → re-onboard Auth required PENDING Destructive flow; needs dedicated test account
iCloud sync (device A → device B) 2 devices + iCloud PENDING Requires two physical devices with same Apple ID

Bugs Found

ID Severity Flow Description
— — — No P0/P1 bugs filed yet; manual matrix incomplete

Test Coverage Gaps

Areas with no automated tests today:

  1. Complete manual matrix on physical device; file Linear issues for any P0/P1 findings.
  2. Add launchArguments support (-UITesting, -resetOnboarding) for simulator onboarding UI tests.
  3. Add unit tests for TargetCalculator, UsernameValidator, and AccountResetService (pure logic).
  4. Archive with distribution signing in Xcode Organizer before App Store submission.

RevenueCat / Hard Paywall Sandbox Checklist (2026-07-09)

Manual verification required after configuring App Store Connect products and REVENUECAT_API_KEY:

Unit tests added: SubscriptionStateTests (routing: onboarding → loading → paywall → main app).