Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
224 changes: 0 additions & 224 deletions UnitTests/MParticleTestsSwift.swift
Original file line number Diff line number Diff line change
Expand Up @@ -344,13 +344,6 @@ class MParticleTestsSwift: XCTestCase {
XCTAssertTrue(listenerController.onAPICalledParameter1 === mparticle)
}

func testStartWithOptionsListenerControllerCalled() {
let options = MParticleOptions(key: "key", secret: "secret")
mparticle.start(with: options)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "startWithOptions:")
XCTAssertTrue(listenerController.onAPICalledParameter1 === options)
}

func testBeginTimedEventDependenciesReceiveCorrectParametersAndHandlerExecutedWithoutErrors() {
mparticle.beginTimedEvent(event)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "beginTimedEvent:")
Expand All @@ -362,215 +355,6 @@ class MParticleTestsSwift: XCTestCase {
XCTAssertNotNil(receivedMessage)
}

func testEndTimedEventListenerControllerCalled() {
mparticle.endTimedEvent(event)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "endTimedEvent:")
XCTAssertTrue(listenerController.onAPICalledParameter1 === event)
}

func testLogEventWithBaseEventListenerControllerCalled() {
mparticle.logEvent(baseEvent)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "logEvent:")
XCTAssertTrue(listenerController.onAPICalledParameter1 === baseEvent)
}

func testLogCustomEventListenerControllerCalled() {
mparticle.logEvent(event)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "logCustomEvent:")
XCTAssertTrue(listenerController.onAPICalledParameter1 === event)
}

func testLogScreenEventListenerControllerCalled() {
mparticle.logScreenEvent(event)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "logScreenEvent:")
XCTAssertTrue(listenerController.onAPICalledParameter1 === event)
}

func testLogErrorListenerControllerCalled() {
mparticle.logError("message", eventInfo: [:])
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "logError:eventInfo:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? String, "message")
}

func testLogExceptionListenerControllerCalled() {
mparticle.logException(exception, topmostContext: nil)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "logException:topmostContext:")
XCTAssertTrue(listenerController.onAPICalledParameter1 === exception)
}

func testLogCrashListenerControllerCalled() {
mparticle.logCrash("message", stackTrace: "stackTrace", plCrashReport: "report")
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "logCrash:stackTrace:plCrashReport:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? String, "message")
}

func testLogCommerceEventListenerControllerCalled() {
mparticle.logCommerceEvent(commerceEvent)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "logCommerceEvent:")
XCTAssertTrue(listenerController.onAPICalledParameter1 === commerceEvent)
}

func testSetIntegrationAttributesListenerControllerCalled() {
mparticle.setIntegrationAttributes(["test": "test"], forKit: NSNumber(value: 1))
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "setIntegrationAttributes:forKit:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? [String: String], ["test": "test"])
XCTAssertEqual(listenerController.onAPICalledParameter2 as? Int, 1)
}

func testClearIntegrationAttributesListenerControllerCalled() {
mparticle.clearIntegrationAttributes(forKit: 1)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "clearIntegrationAttributesForKit:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? Int, 1)
}

func testOnKitsInitializedListenerControllerCalled() {
mparticle.onKitsInitialized {}
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "onKitsInitialized:")
XCTAssertNotNil(listenerController.onAPICalledParameter1)
}

func testExecuteKitsInitializedBlocks() {
mparticle.executeKitsInitializedBlocks()
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "executeKitsInitializedBlocks")
XCTAssertNil(listenerController.onAPICalledParameter1)
}

func testIsKitActiveListenerControllerCalled() {
mparticle.isKitActive(1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "isKitActive:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? Int, 1)
}

func testKitInstanceListenerControllerCalled() {
mparticle.kitInstance(1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "kitInstance:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? Int, 1)
}

func testKitInstanceCompletionHandlerListenerControllerCalled() {
mparticle.kitInstance(1) { _ in }
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "kitInstance:completionHandler:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? Int, 1)
}

#if os(iOS)
func testBackgroundLocationTrackingListenerControllerCalled() {
mparticle.backgroundLocationTracking = true
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "setBackgroundLocationTracking:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? Bool, true)

_ = mparticle.backgroundLocationTracking
XCTAssertEqual(listenerController.onAPICalledApiNames[1].description, "backgroundLocationTracking")
}

func testWebviewBridgeValueWithCustomerBridgeNameListenerControllerCalled() {
mparticle.initializeWKWebView(WKWebView(), bridgeName: "name")
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "initializeWKWebView:bridgeName:")
XCTAssertNotNil(listenerController.onAPICalledParameter1)
XCTAssertEqual(listenerController.onAPICalledParameter2 as? String, "name")
}

func testLogNotificationOpenedWithUserInfoAndActionIdentifierListenerControllerCalled() {
mparticle.logNotificationOpened(userInfo: [:], andActionIdentifier: "identifier")
XCTAssertEqual(listenerController.onAPICalledApiName?.description,
"logNotificationOpenedWithUserInfo:andActionIdentifier:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? [String: String], [:])
}

func testUserContentControllerDidReceiveScriptMessageListenerControllerCalled() {
mparticle.userContentController(WKUserContentController(), didReceive: WKScriptMessage())
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "userContentController:didReceiveScriptMessage:")
XCTAssertNotNil(listenerController.onAPICalledParameter1)
XCTAssertNotNil(listenerController.onAPICalledParameter2)
}

func testHandleWebviewCommandListenerControllerCalled() {
mparticle.handleWebviewCommand("command", dictionary: [:])
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "handleWebviewCommand:dictionary:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? String, "command")
XCTAssertEqual(listenerController.onAPICalledParameter2 as? [String: String], [:])
}

#if !MPARTICLE_LOCATION_DISABLE
func testLocationListenerControllerCalled() {
_ = mparticle.location
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "location")
}

func testSetLocationListenerControllerCalled() {
let expectedLocation = CLLocation(latitude: 1, longitude: 2)
mparticle.location = expectedLocation
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "setLocation:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? CLLocation, expectedLocation)
}

func testBeginLocationTrackingListenerControllerCalled() {
mparticle.beginLocationTracking(CLLocationAccuracy.nan, minDistance: CLLocationDistance.nan)
XCTAssertEqual(listenerController.onAPICalledApiName?.description,
"beginLocationTracking:minDistance:authorizationRequest:")
XCTAssertNotNil(listenerController.onAPICalledParameter1)
XCTAssertNotNil(listenerController.onAPICalledParameter2)
}

func testEndLocationTrackingListenerControllerCalled() {
mparticle.endLocationTracking()
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "endLocationTracking")
}
#endif
#endif
func testNetworkPermissionListenerControllerCalled() {
mparticle.logNetworkPerformance("", httpMethod: "", startTime: 0.0, duration: 1.0, bytesSent: 100, bytesReceived: 200)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description,
"logNetworkPerformance:httpMethod:startTime:duration:bytesSent:bytesReceived:")
XCTAssertNotNil(listenerController.onAPICalledParameter1)
}

func testIncrementSessionAttributeListenerControllerCalled() {
mparticle.incrementSessionAttribute("key", byValue: 1)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "incrementSessionAttribute:byValue:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? String, "key")
XCTAssertEqual(listenerController.onAPICalledParameter2 as? Int, 1)
}

func testSetSessionAttributeListenerControllerCalled() {
mparticle.setSessionAttribute("key", value: "value")
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "setSessionAttribute:value:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? String, "key")
XCTAssertEqual(listenerController.onAPICalledParameter2 as? String, "value")
}

func testUploadListenerControllerCalled() {
mparticle.upload()
wait(for: [listenerController.onAPICalledExpectation!], timeout: 1.0)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "upload")
}

func testIsValidBridgeNameListenerControllerCalled() {
mparticle.isValidBridgeName("name")
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "isValidBridgeName:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? String, "name")
}

func testWebviewBridgeValueWithCustomerBridgeNameListenerControllerReturnValue() {
mparticle.webviewBridgeValue(withCustomerBridgeName: "value")
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "webviewBridgeValueWithCustomerBridgeName:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? String, "value")
}

func testSessionDidBegin() {
kitContainer.forwardSDKCallExpectation = XCTestExpectation()
mparticle.sessionDidBegin(MPSession())
Expand Down Expand Up @@ -1330,14 +1114,6 @@ class MParticleTestsSwift: XCTestCase {
XCTAssertNil(receivedMessage)
}

func testLeaveBreadcrumbListenerControllerCalled() {
mparticle.leaveBreadcrumb(event.name, eventInfo: event.customAttributes)
wait(for: [listenerController.onAPICalledExpectation!], timeout: 0.1)
XCTAssertEqual(listenerController.onAPICalledApiName?.description, "leaveBreadcrumb:eventInfo:")
XCTAssertEqual(listenerController.onAPICalledParameter1 as? String, event.name)
XCTAssertEqual(listenerController.onAPICalledParameter2, event.customAttributes as NSObject?)
}

func testLeaveBreadcrumb_eventNamePassed_backendControllerReceiveCorrectName() {
mparticle.leaveBreadcrumb(event.name, eventInfo: event.customAttributes)
XCTAssertEqual(backendController.eventWithNameEventNameParam, event.name)
Expand Down
Loading