@@ -637,7 +637,7 @@ class MParticleTestsSwift: XCTestCase {
637637 func testSessionDidBegin( ) {
638638 let kitContainer = MPKitContainerMock ( )
639639 kitContainer. forwardSDKCallExpectation = XCTestExpectation ( )
640- mparticle. kitContainer = kitContainer
640+ mparticle. setKitContainer ( kitContainer)
641641 mparticle. sessionDidBegin ( MPSession ( ) )
642642
643643
@@ -654,7 +654,7 @@ class MParticleTestsSwift: XCTestCase {
654654 func testSessionDidEnd( ) {
655655 let kitContainer = MPKitContainerMock ( )
656656 kitContainer. forwardSDKCallExpectation = XCTestExpectation ( )
657- mparticle. kitContainer = kitContainer
657+ mparticle. setKitContainer ( kitContainer)
658658 mparticle. sessionDidEnd ( MPSession ( ) )
659659
660660
@@ -677,7 +677,7 @@ class MParticleTestsSwift: XCTestCase {
677677
678678 let backendController = MPBackendControllerMock ( )
679679
680- mparticle. kitContainer = kitContainer
680+ mparticle. setKitContainer ( kitContainer)
681681 mparticle. persistenceController = persistenceController
682682 mparticle. backendController = backendController
683683
@@ -692,5 +692,90 @@ class MParticleTestsSwift: XCTestCase {
692692 XCTAssertEqual ( persistenceController. resetDatabaseCalled, true )
693693 XCTAssertTrue ( backendController. unproxyOriginalAppDelegateCalled)
694694 }
695+
696+ func testBeginSessionTempSessionAvailableSessionTempSessionShouldNotBeCreated( ) {
697+ let backendController = MPBackendControllerMock ( )
698+ backendController. session = nil
699+ backendController. tempSessionReturnValue = MParticleSession ( )
700+ mparticle. backendController = backendController
701+ mparticle. beginSession ( )
702+ XCTAssertFalse ( backendController. createTempSessionCalled)
703+ }
704+
705+ func testBeginSessionSessionAvailableSessionTempSessionShouldNotBeCreated( ) {
706+ let backendController = MPBackendControllerMock ( )
707+ backendController. session = MPSession ( )
708+ backendController. tempSessionReturnValue = nil
709+ mparticle. backendController = backendController
710+ mparticle. beginSession ( )
711+ XCTAssertFalse ( backendController. createTempSessionCalled)
712+ }
713+
714+ func testBeginSessionSessionUnavailable( ) {
715+ let backendController = MPBackendControllerMock ( )
716+ backendController. session = nil
717+ backendController. tempSessionReturnValue = nil
718+ let executor = ExecutorMock ( )
719+ mparticle. setExecutor ( executor)
720+ mparticle. backendController = backendController
721+ mparticle. beginSession ( )
722+ XCTAssertTrue ( executor. executeOnMessageQueueAsync)
723+ XCTAssertTrue ( backendController. createTempSessionCalled)
724+ XCTAssertTrue ( backendController. beginSessionCalled)
725+ XCTAssertEqual ( backendController. beginSessionIsManualParam, true )
726+ XCTAssertNotNil ( backendController. beginSessionDateParam)
727+ }
728+
729+ func testEndSessionNoSession( ) {
730+ let backendController = MPBackendControllerMock ( )
731+ backendController. session = nil
732+ let executor = ExecutorMock ( )
733+ mparticle. setExecutor ( executor)
734+ mparticle. backendController = backendController
735+ mparticle. endSession ( )
736+ XCTAssertEqual ( executor. executeOnMessageQueueAsync, true )
737+ XCTAssertFalse ( backendController. endSessionWithIsManualCalled)
738+ }
739+
740+ func testEndSessionWithSession( ) {
741+ let backendController = MPBackendControllerMock ( )
742+ backendController. session = MPSession ( )
743+ let executor = ExecutorMock ( )
744+ mparticle. setExecutor ( executor)
745+ mparticle. backendController = backendController
746+ mparticle. endSession ( )
747+ XCTAssertEqual ( executor. executeOnMessageQueueAsync, true )
748+ XCTAssertTrue ( backendController. endSessionWithIsManualCalled)
749+ XCTAssertEqual ( backendController. endSessionIsManualParam, true )
750+ }
751+
752+ func testForwardLogInstall( ) {
753+ let executor = ExecutorMock ( )
754+ mparticle. setExecutor ( executor)
755+ let kitContainer = MPKitContainerMock ( )
756+ mparticle. setKitContainer ( kitContainer)
757+ mparticle. forwardLogInstall ( )
758+ XCTAssertEqual ( executor. executeOnMainAsync, true )
759+ XCTAssertTrue ( kitContainer. forwardSDKCallCalled)
760+ XCTAssertEqual ( kitContainer. forwardSDKCallSelectorParam? . description, " forwardLogInstall " )
761+ XCTAssertEqual ( kitContainer. forwardSDKCallMessageTypeParam, . unknown)
762+ XCTAssertNil ( kitContainer. forwardSDKCallEventParam)
763+ XCTAssertNil ( kitContainer. forwardSDKCallParametersParam)
764+ XCTAssertNil ( kitContainer. forwardSDKCallUserInfoParam)
765+ }
766+
767+ func testForwardLogUpdate( ) {
768+ let executor = ExecutorMock ( )
769+ mparticle. setExecutor ( executor)
770+ let kitContainer = MPKitContainerMock ( )
771+ mparticle. setKitContainer ( kitContainer)
772+ mparticle. forwardLogUpdate ( )
773+ XCTAssertEqual ( executor. executeOnMainAsync, true )
774+ XCTAssertTrue ( kitContainer. forwardSDKCallCalled)
775+ XCTAssertEqual ( kitContainer. forwardSDKCallSelectorParam? . description, " forwardLogUpdate " )
776+ XCTAssertEqual ( kitContainer. forwardSDKCallMessageTypeParam, . unknown)
777+ XCTAssertNil ( kitContainer. forwardSDKCallEventParam)
778+ XCTAssertNil ( kitContainer. forwardSDKCallParametersParam)
779+ XCTAssertNil ( kitContainer. forwardSDKCallUserInfoParam)
780+ }
695781}
696-
0 commit comments