-
Notifications
You must be signed in to change notification settings - Fork 316
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
Integration Tests
: fix clearing UserDefaults
before each test
#2719
Conversation
For some reason `synchronize()` is needed so that subsequent reads and writes actually see that we cleared the domain. I added a new expectation to make sure if this breaks we catch it early instead of a weird failure later in the test.
a6d0263
to
0caf2bb
Compare
if !Constants.proxyURL.isEmpty { | ||
Purchases.proxyURL = URL(string: Constants.proxyURL) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was already set below
Codecov Report
@@ Coverage Diff @@
## main #2719 +/- ##
==========================================
+ Coverage 86.46% 86.48% +0.01%
==========================================
Files 212 212
Lines 15048 15048
==========================================
+ Hits 13012 13014 +2
+ Misses 2036 2034 -2 |
**This is an automatic release.** ### New Features * New `TestStoreProduct` for creating mock `StoreProduct`s and `Offering`s (#2711) via NachoSoto (@NachoSoto) ✨ With this new API you can now create fake products for unit tests and SwiftUI previews! 🎉 #### Example: ```swift let product = TestStoreProduct( localizedTitle: "PRO monthly", price: 3.99, localizedPriceString: "$3.99", productIdentifier: "com.revenuecat.product", productType: .autoRenewableSubscription, localizedDescription: "Description", subscriptionGroupIdentifier: "group", subscriptionPeriod: .init(value: 1, unit: .month) ) let offering = Offering( identifier: "offering", serverDescription: "Main offering", metadata: [:], availablePackages: [ .init( identifier: "monthly", packageType: .monthly, storeProduct: product.toStoreProduct(), offeringIdentifier: offering ) ] ) ``` ### Dependency Updates * Bump fastlane-plugin-revenuecat_internal from `13773d2` to `b2108fb` (#2706) via dependabot[bot] (@dependabot[bot]) ### Other Changes * `VerificationResult: CustomDebugStringConvertible` (#2739) via NachoSoto (@NachoSoto) * Refactor: simplified `PurchasesOrchestrator.syncPurchases` (#2731) via NachoSoto (@NachoSoto) * `Trusted Entitlements`: add integration tests to verify `CustomerInfo` cache invalidation (#2730) via NachoSoto (@NachoSoto) * `SystemInfo.identifierForVendor`: add tests (#2732) via NachoSoto (@NachoSoto) * `Tests`: disabled `iOS 11.x` tests to fix `Xcode 15` tests (#2720) via NachoSoto (@NachoSoto) * `DebugViewSwiftUITests`: create separate snapshots for each OS version (#2721) via NachoSoto (@NachoSoto) * `Integration Tests`: fix clearing `UserDefaults` before each test (#2719) via NachoSoto (@NachoSoto) * Remove unused `Signing.loadPublicKey(with:)` (#2714) via NachoSoto (@NachoSoto) * Add `UInt32(littleEndian32Bits:)` and `UInt32.littleEndianData` (#2713) via NachoSoto (@NachoSoto) * `TimingUtil`: added synchronous API (#2716) via NachoSoto (@NachoSoto) * `XCFramework`: sign archive for `Xcode 15` (#2709) via NachoSoto (@NachoSoto) * `CI`: removed `carthage_archive` from `release` lane (#2710) via NachoSoto (@NachoSoto) * `PriceFormatterProvider.priceFormatterForSK2`: enable on all versions (#2712) via NachoSoto (@NachoSoto) * `xrOS`: add support for `debugRevenueCatOverlay` (#2702) via NachoSoto (@NachoSoto) * Refactor method to get product ID including plan ID in android purchases (#2708) via Toni Rico (@tonidero) * `Purchases.restoreLogHandler` (#2699) via NachoSoto (@NachoSoto) * Remove alpha from purchase tester icon to upload to testflight (#2705) via Toni Rico (@tonidero) --------- Co-authored-by: NachoSoto <ignaciosoto90@gmail.com>
For some reason
synchronize()
is needed so that subsequent reads and writes actually see that we cleared the domain.I added a new expectation to make sure if this breaks we catch it early instead of a weird failure later in the test.