SDK-292: Deep Link BCIT Testing Framework - Complete Infrastructure Ready #990
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔹 Jira Ticket(s)
✏️ Description
Complete BCIT (Business Critical Integration Test) framework for deep link routing validation. This establishes comprehensive testing infrastructure for URL delegates, custom action delegates, and deep link flows - ready for full E2E testing once custom domains are configured.
🎯 What's Included
Test Infrastructure (New Files)
DeepLinkingIntegrationTests.swift(393 lines) - 8 comprehensive test methods covering delegate validation and routingDeepLinkHelpers.swift(227 lines) - Alert validation framework with URL extraction and comparison utilitiesMockDelegates.swift(148 lines) - Mock URL and custom action delegates with full verification supportCI/CD Integration
.github/workflows/bcit-integration-test-deep-linking.yml- GitHub Actions workflow matching existing BCIT patternsscripts/run-tests.sh- Updated withrun_deep_linking_tests()function following push/inapp/embedded patternsDocumentation
AGENT_README.md- New "Deep Link Integration Tests (SDK-292)" section with technical detailsSDK-292-COMPLETION-SUMMARY.md- Complete project summary and readiness checklist✅ Test Coverage (8 Methods)
Passing Tests
testURLDelegateRegistration()- Delegate setup verificationtestCustomActionDelegateRegistration()- Custom action delegate setuptestURLDelegateCallback()- URL delegate invocation from in-app messagetestURLDelegateParameters()- URL and context parameter validationtestAlertContentValidation()- Alert validation frameworktestMultipleAlertsInSequence()- Multiple alert handlingtestDeepLinkFromPushNotification()- Push notification deep link routingtestDeepLinkFromInAppMessage()- In-app message deep link routingNot Tested (Requires Custom Domains)
🚀 Running the Tests
Local
cd tests/business-critical-integration ./scripts/run-tests.sh deeplinkCI/CD
bcit,bcit-deeplink,bcit-deep-linkingrelease/*branches🔧 Key Features
Alert-Based Validation
AlertExpectationfor clean test assertionsMock Delegate Framework
wasCalledWith,printCallHistory)CI Support
📊 File Statistics
🎉 Ready For
./scripts/run-tests.sh deeplink🔜 Next Steps
Status: ✅ Ready for Review & Testing
No Breaking Changes - Pure test infrastructure addition