feat: Add presentation scopes & container wiring#1642
Open
bthebladeprimer wants to merge 4 commits into
Open
Conversation
Contributor
Generated by 🚫 Danger Swift against fa88163 |
5 tasks
6331e36 to
0ca46cf
Compare
9218886 to
5322150
Compare
cf11538 to
ddfc7fb
Compare
Change paymentMethodScopeCache from private to internal so tests can pre-populate it, avoiding the async race where createView() is called before the background Task populates the cache.
4f2e4de to
fa88163
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
ComposableContainer— the DI container that wires all CheckoutComponents dependencies togetherDefaultCheckoutScopeandDefaultPaymentMethodSelectionScopefor top-level checkout orchestrationDefaultCardFormScope(with field builders and validation extensions) for card input managementDefaultAchScope,DefaultApplePayScope,DefaultFormRedirectScope,DefaultKlarnaScope,DefaultPayPalScope,DefaultQRCodeScope,DefaultWebRedirectScopeDefaultSelectCountryScopefor country selection in ACH/form flowsCheckoutSDKInitializerservice update for scope initializationContext
PR 13 of 16 in the CheckoutComponents feature split. Depends on PR 12 (payment method verticals).
Notion tracker
Test plan
DefaultCheckoutScopeTests— verify top-level checkout scope lifecycleDefaultPaymentMethodSelectionScopeTests— verify payment method selection logicDefaultCardFormScopeTests— verify card form field building and validationDefaultSelectCountryScopeTests— verify country selection scopePrimerCardFormScopeTests— verify card form scope protocol conformancePrimerPaymentMethodScopeTests— verify payment method scope protocolPrimerCheckoutPresenterTests— verify presenter delegate coordination