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

Integration Tests: fix clearing UserDefaults before each test #2719

Merged
merged 2 commits into from
Jun 27, 2023

Conversation

NachoSoto
Copy link
Contributor

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.

@NachoSoto NachoSoto added the test label Jun 27, 2023
@NachoSoto NachoSoto requested a review from a team June 27, 2023 16:59
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.
@NachoSoto NachoSoto force-pushed the integration-tests-user-defaults-clearing branch from a6d0263 to 0caf2bb Compare June 27, 2023 17:00
Comment on lines -91 to -93
if !Constants.proxyURL.isEmpty {
Purchases.proxyURL = URL(string: Constants.proxyURL)
}
Copy link
Contributor Author

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
Copy link

codecov bot commented Jun 27, 2023

Codecov Report

Merging #2719 (0caf2bb) into main (f651f61) will increase coverage by 0.01%.
The diff coverage is n/a.

❗ Current head 0caf2bb differs from pull request most recent head 4c4180e. Consider uploading reports for the commit 4c4180e to get more accurate results

@@            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     

see 2 files with indirect coverage changes

@NachoSoto NachoSoto enabled auto-merge (squash) June 27, 2023 18:14
@NachoSoto NachoSoto merged commit 3b34874 into main Jun 27, 2023
@NachoSoto NachoSoto deleted the integration-tests-user-defaults-clearing branch June 27, 2023 20:11
NachoSoto added a commit that referenced this pull request Jun 30, 2023
**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 <[email protected]>
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