Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internal purchase controller refactor #186

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

super-bryan
Copy link
Collaborator

Changes in this pull request

  • Allows an internal purchase controller (termed "automatic purchase controller") to be used identically to an external purchase controller
  • Order of initialization in the DependencyContainer no longer matters
  • Fixes issue with tests that could cause some dependencies to not use the mocked dependencies (can explain more if you want after seeing the PR)
  • Removes redundancy of providing dependencies with a set of parameters and a factory that provides those same parameters
  • Uncouples ReceiptManager logic from the original purchase controller
  • Moves receipt logic from the StoreKitManager into the ReceiptManager
  • Removes the need for if/else logic when it comes to purchase controller logic
  • Removes all use of unowned variables
  • Removes force unwrapping in the dependency container
  • Uses the adapter pattern only when necessary (i.e. only for objc types)
  • Makes classes more protocol-oriented to avoid tightly coupled classes

Checklist

  • All unit tests pass.
  • All UI tests pass.
  • Demo project builds and runs.
  • I added/updated tests or detailed why my change isn't tested.
  • I added an entry to the CHANGELOG.md for any breaking changes, enhancements, or bug fixes.
  • I have run swiftlint in the main directory and fixed any issues.
  • I have updated the SDK documentation as well as the online docs.
  • I have reviewed the contributing guide

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants