Skip to content

Commit

Permalink
Removed redundant code, fixed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
yusuftor committed Dec 6, 2023
1 parent 0942f49 commit 8873560
Show file tree
Hide file tree
Showing 11 changed files with 13 additions and 72 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,7 @@ enum InternalSuperwallEvent {

struct TriggerFire: TrackableSuperwallEvent {
let triggerResult: InternalTriggerResult
let sessionId: String
var superwallEvent: SuperwallEvent {
return .triggerFire(
eventName: triggerName,
Expand All @@ -272,16 +273,13 @@ enum InternalSuperwallEvent {
}
let triggerName: String
var customParameters: [String: Any] = [:]
unowned let sessionEventsManager: SessionEventsManager

func getSuperwallParameters() async -> [String: Any] {
var params: [String: Any] = [
"trigger_name": triggerName
]

if let triggerSession = await sessionEventsManager.triggerSession.activeTriggerSession {
params["trigger_session_id"] = triggerSession.id
}
params["trigger_session_id"] = sessionId

switch triggerResult {
case .noRuleMatch(let unmatchedRules):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,8 @@ actor TriggerSessionManager {
if let triggerResult = triggerResult {
let trackedEvent = InternalSuperwallEvent.TriggerFire(
triggerResult: triggerResult,
triggerName: eventName,
sessionEventsManager: sessionEventsManager
sessionId: session.id,
triggerName: eventName
)
_ = await trackEvent(trackedEvent)
}
Expand Down
23 changes: 0 additions & 23 deletions Sources/SuperwallKit/Debug/SWBounceButton.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ final class SWBounceButton: UIButton {
var toggleKey = "key"
var isOn = false
var canToggle = false

var oldTitle: String = ""

var showLoading = false {
didSet {
if showLoading {
Expand Down Expand Up @@ -53,15 +51,6 @@ final class SWBounceButton: UIButton {
return view
}()

var customTint: UIColor? {
didSet {
if let customTint = customTint {
backgroundColor = customTint.withAlphaComponent(0.15)
setTitleColor(customTint, for: .normal)
}
}
}

var onBackgroundColor: UIColor = primaryButtonBackgroundColor
var offBackgroundColor: UIColor = secondaryButtonBackgroundColor

Expand Down Expand Up @@ -94,14 +83,6 @@ final class SWBounceButton: UIButton {
}
}

private var _borderColor: UIColor?
var borderColor: UIColor? {
didSet {
_borderColor = borderColor
self.layer.borderColor = (borderColor ?? UIColor.clear).cgColor
}
}

// MARK: - Initializers
convenience init() {
self.init(frame: CGRect())
Expand Down Expand Up @@ -201,10 +182,6 @@ final class SWBounceButton: UIButton {
}
}

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
self.borderColor = _borderColor
}

override func didMoveToSuperview() {
super.didMoveToSuperview()
if canToggle {
Expand Down
9 changes: 2 additions & 7 deletions Sources/SuperwallKit/Dependencies/DependencyContainer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,6 @@ extension DependencyContainer: ViewControllerFactory {
deviceHelper: deviceHelper,
factory: self,
storage: storage,
paywallManager: paywallManager,
webView: webView,
cache: cache
)
Expand Down Expand Up @@ -412,23 +411,19 @@ extension DependencyContainer: ConfigManagerFactory {
// MARK: - StoreTransactionFactory
extension DependencyContainer: StoreTransactionFactory {
func makeStoreTransaction(from transaction: SK1Transaction) async -> StoreTransaction {
let triggerSession = await sessionEventsManager.triggerSession.activeTriggerSession
return StoreTransaction(
transaction: SK1StoreTransaction(transaction: transaction),
configRequestId: configManager.config?.requestId ?? "",
appSessionId: appSessionManager.appSession.id,
triggerSessionId: triggerSession?.id
appSessionId: appSessionManager.appSession.id
)
}

@available(iOS 15.0, tvOS 15.0, watchOS 8.0, *)
func makeStoreTransaction(from transaction: SK2Transaction) async -> StoreTransaction {
let triggerSession = await sessionEventsManager.triggerSession.activeTriggerSession
return StoreTransaction(
transaction: SK2StoreTransaction(transaction: transaction),
configRequestId: configManager.config?.requestId ?? "",
appSessionId: appSessionManager.appSession.id,
triggerSessionId: triggerSession?.id
appSessionId: appSessionManager.appSession.id
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,6 @@ public class PaywallViewController: UIViewController, LoadingDelegate {
private unowned let factory: TriggerSessionManagerFactory & TriggerFactory
private unowned let storage: Storage
private unowned let deviceHelper: DeviceHelper
private unowned let paywallManager: PaywallManager
private weak var cache: PaywallViewControllerCache?

// MARK: - View Lifecycle
Expand All @@ -156,7 +155,6 @@ public class PaywallViewController: UIViewController, LoadingDelegate {
deviceHelper: DeviceHelper,
factory: TriggerSessionManagerFactory & TriggerFactory,
storage: Storage,
paywallManager: PaywallManager,
webView: SWWebView,
cache: PaywallViewControllerCache?
) {
Expand All @@ -172,7 +170,6 @@ public class PaywallViewController: UIViewController, LoadingDelegate {
self.factory = factory
self.storage = storage
self.paywall = paywall
self.paywallManager = paywallManager
self.webView = webView

presentationStyle = paywall.presentation.style
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ public final class StoreTransaction: NSObject, StoreTransactionType, Encodable {

public let configRequestId: String
public let appSessionId: String
public let triggerSessionId: String?

public var transactionDate: Date? { transaction.transactionDate }
public var originalTransactionIdentifier: String { transaction.originalTransactionIdentifier }
Expand Down Expand Up @@ -56,13 +55,11 @@ public final class StoreTransaction: NSObject, StoreTransactionType, Encodable {
init(
transaction: StoreTransactionType,
configRequestId: String,
appSessionId: String,
triggerSessionId: String?
appSessionId: String
) {
self.transaction = transaction
self.configRequestId = configRequestId
self.appSessionId = appSessionId
self.triggerSessionId = triggerSessionId
}

public enum CodingKeys: String, CodingKey {
Expand Down Expand Up @@ -90,7 +87,6 @@ public final class StoreTransaction: NSObject, StoreTransactionType, Encodable {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(configRequestId, forKey: .configRequestId)
try container.encode(appSessionId, forKey: .appSessionId)
try container.encodeIfPresent(triggerSessionId, forKey: .triggerSessionId)
try container.encodeIfPresent(transactionDate, forKey: .transactionDate)
try container.encode(originalTransactionIdentifier, forKey: .originalTransactionIdentifier)
try container.encode(state, forKey: .state)
Expand All @@ -115,8 +111,7 @@ extension StoreTransaction: Stubbable {
return StoreTransaction(
transaction: SK1StoreTransaction(transaction: SKPaymentTransaction()),
configRequestId: "abc",
appSessionId: "def",
triggerSessionId: "ghi"
appSessionId: "def"
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,6 @@
import Foundation
import StoreKit

enum InternalPurchaseResult {
case purchased(StoreTransaction?)
case restored
case cancelled
case pending
case failed(Error)
}

/// An enum that defines the possible outcomes of attempting to purchase a product.
///
/// When implementing the ``PurchaseController/purchase(product:)`` delegate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ final class TrackingTests: XCTestCase {
.init(source: .expression, experimentId: "1"),
.init(source: .occurrence, experimentId: "2")
]
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .noRuleMatch(unmatchedRules), triggerName: triggerName, sessionEventsManager: dependencyContainer.sessionEventsManager))
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .noRuleMatch(unmatchedRules), sessionId: "sessionId", triggerName: triggerName))
XCTAssertNotNil(result.parameters.eventParams["$app_session_id"])
XCTAssertTrue(result.parameters.eventParams["$is_standard_event"] as! Bool)
XCTAssertEqual(result.parameters.eventParams["$event_name"] as! String, "trigger_fire")
Expand All @@ -307,7 +307,7 @@ final class TrackingTests: XCTestCase {
let triggerName = "My Trigger"
let dependencyContainer = DependencyContainer()
let experiment: Experiment = .stub()
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .holdout(experiment), triggerName: triggerName, sessionEventsManager: dependencyContainer.sessionEventsManager))
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .holdout(experiment), sessionId: "sessionId", triggerName: triggerName))
XCTAssertNotNil(result.parameters.eventParams["$app_session_id"])
XCTAssertTrue(result.parameters.eventParams["$is_standard_event"] as! Bool)
XCTAssertEqual(result.parameters.eventParams["$event_name"] as! String, "trigger_fire")
Expand All @@ -322,7 +322,7 @@ final class TrackingTests: XCTestCase {
let triggerName = "My Trigger"
let dependencyContainer = DependencyContainer()
let experiment: Experiment = .stub()
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .paywall(experiment), triggerName: triggerName, sessionEventsManager: dependencyContainer.sessionEventsManager))
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .paywall(experiment), sessionId: "sessionId", triggerName: triggerName))
XCTAssertNotNil(result.parameters.eventParams["$app_session_id"])
XCTAssertTrue(result.parameters.eventParams["$is_standard_event"] as! Bool)
XCTAssertEqual(result.parameters.eventParams["$event_name"] as! String, "trigger_fire")
Expand All @@ -337,7 +337,7 @@ final class TrackingTests: XCTestCase {
func test_triggerFire_eventNotFound() async {
let triggerName = "My Trigger"
let dependencyContainer = DependencyContainer()
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .eventNotFound, triggerName: triggerName, sessionEventsManager: dependencyContainer.sessionEventsManager))
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .eventNotFound, sessionId: "sessionId", triggerName: triggerName))
print(result)
XCTAssertNotNil(result.parameters.eventParams["$app_session_id"])
XCTAssertTrue(result.parameters.eventParams["$is_standard_event"] as! Bool)
Expand All @@ -349,7 +349,7 @@ final class TrackingTests: XCTestCase {
let triggerName = "My Trigger"
let dependencyContainer = DependencyContainer()
let error = NSError(domain: "com.superwall", code: 400)
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .error(error), triggerName: triggerName, sessionEventsManager: dependencyContainer.sessionEventsManager))
let result = await Superwall.shared.track(InternalSuperwallEvent.TriggerFire(triggerResult: .error(error), sessionId: "sessionId", triggerName: triggerName))
print(result)
XCTAssertNotNil(result.parameters.eventParams["$app_session_id"])
XCTAssertTrue(result.parameters.eventParams["$is_standard_event"] as! Bool)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,6 @@ final class TrackingLogicTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ final class PresentPaywallOperatorTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -109,7 +108,6 @@ final class PresentPaywallOperatorTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -74,7 +73,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -116,7 +114,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -157,7 +154,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -198,7 +194,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -239,7 +234,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -286,7 +280,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -336,7 +329,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -384,7 +376,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down Expand Up @@ -436,7 +427,6 @@ final class SurveyManagerTests: XCTestCase {
deviceHelper: dependencyContainer.deviceHelper,
factory: dependencyContainer,
storage: dependencyContainer.storage,
paywallManager: dependencyContainer.paywallManager,
webView: webView,
cache: nil
)
Expand Down

0 comments on commit 8873560

Please sign in to comment.