Files
purchases-ios/Sources/Purchasing/StoreKitAbstractions/TestStoreTransaction.swift
T
Antonio PallaresandCursor b086906b28 Include attribution data in POST /receipt when using SK2 in Observer mode (#6233)
* Cache presentedOfferingContext when making a purchase from a paywall

* Avoid using stale cached presentedOfferingContext

Co-authored-by: Cursor <cursoragent@cursor.com>

* Only remove cached context when date check passes

* Include productId in cancel events and add tests

* Add log

* One more test

* More tests

* fix warning

* Fix compilation

* Fix integration test compilation for SPI import

Co-authored-by: Cursor <cursoragent@cursor.com>

* Include paywall and offering context in SK2 transaction listener

* Improve comment

* More tests

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 10:24:21 +01:00

33 lines
894 B
Swift

//
// TestStoreTransaction.swift
// RevenueCat
//
// Copyright © 2026 RevenueCat, Inc. All rights reserved.
//
import Foundation
/// Internal struct used to create `StoreTransaction` instances for testing purposes.
/// This allows developers to mock `StoreTransaction` objects in unit tests.
struct TestStoreTransaction: StoreTransactionType {
let productIdentifier: String
let purchaseDate: Date
let transactionIdentifier: String
let quantity: Int
let storefront: Storefront?
var hasKnownPurchaseDate: Bool { return true }
var hasKnownTransactionIdentifier: Bool { return true }
let jwsRepresentation: String? = nil
let environment: StoreEnvironment? = nil
let reason: TransactionReason? = nil
func finish(_ wrapper: any PaymentQueueWrapperType, completion: @escaping @Sendable () -> Void) {
// no-op
completion()
}
}