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.
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
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
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
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
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
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"
)
}
}
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
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
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
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
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.