@@ -121,7 +121,7 @@ - (void)testFirstRun
121121 ADJActivityPackage *activityPackage = (ADJActivityPackage *) self.packageHandlerMock .packageQueue [0 ];
122122
123123 // check the Sdk version is being tested
124- XCTAssertEqual (@" ios4.0.8 " , activityPackage.clientSdk , @" %@ " , activityPackage.extendedString );
124+ XCTAssertEqual (@" ios4.1.0 " , activityPackage.clientSdk , @" %@ " , activityPackage.extendedString );
125125
126126 // check the server url
127127 XCTAssertEqual (@" https://app.adjust.com" , ADJUtil.baseUrl );
@@ -358,6 +358,9 @@ - (void)testEventsBuffered {
358358 // add revenue
359359 [thirdEvent setRevenue: 0 currency: @" USD" ];
360360
361+ // add receipt information
362+ [thirdEvent setReceipt: [@" { \" transaction-id\" = \" t_id_2\" ; }" dataUsingEncoding: NSUTF8StringEncoding] transactionId: @" t_id_2" ];
363+
361364 // track the third event
362365 [activityHandler trackEvent: thirdEvent];
363366
@@ -449,6 +452,9 @@ - (void)testEventsBuffered {
449452 XCTAssert ([(NSString *)firstEventPackageParameters[@" revenue" ] isEqualToString: @" 0.0001" ], @" %@ " , firstEventPackage.extendedString );
450453 XCTAssert ([(NSString *)firstEventPackageParameters[@" currency" ] isEqualToString: @" EUR" ], @" %@ " , firstEventPackage.extendedString );
451454
455+ // check the that the transaction id was not injected
456+ XCTAssertNil (firstEventPackageParameters[@" transaction_id" ], @" %@ " , firstEventPackage.extendedString );
457+
452458 // check the injected parameters
453459 XCTAssert ([(NSString *)firstEventPackageParameters[@" callback_params" ] isEqualToString: @" {\" keyCall\" :\" valueCall2\" ,\" fooCall\" :\" barCall\" }" ],
454460 @" %@ " , firstEventPackage.extendedString );
@@ -473,6 +479,10 @@ - (void)testEventsBuffered {
473479 XCTAssert ([(NSString *)thirdEventPackageParameters[@" revenue" ] isEqualToString: @" 0" ], @" %@ " , thirdEventPackage.extendedString );
474480 XCTAssert ([(NSString *)thirdEventPackageParameters[@" currency" ] isEqualToString: @" USD" ], @" %@ " , thirdEventPackage.extendedString );
475481
482+ // check the receipt and transaction_id
483+ XCTAssert ([(NSString *)thirdEventPackageParameters[@" receipt" ] isEqualToString: @" eyAidHJhbnNhY3Rpb24taWQiID0gInRfaWRfMiI7IH0=" ], @" %@ " , thirdEventPackage.extendedString );
484+ XCTAssert ([(NSString *)thirdEventPackageParameters[@" transaction_id" ] isEqualToString: @" t_id_2" ], @" %@ " , thirdEventPackage.extendedString );
485+
476486 // check the that the parameters were not injected
477487 XCTAssertNil (thirdEventPackageParameters[@" callback_params" ], @" %@ " , thirdEventPackage.extendedString );
478488 XCTAssertNil (thirdEventPackageParameters[@" partner_params" ], @" %@ " , thirdEventPackage.extendedString );
@@ -611,6 +621,8 @@ - (void)testChecks {
611621 [firstEvent setRevenue: 0 currency: @" " ];
612622 [firstEvent setRevenue: -0.0001 currency: @" EUR" ];
613623
624+ [firstEvent setReceipt: @" value" transactionId: nil ];
625+
614626 [activityHandler trackEvent: firstEvent];
615627
616628 [NSThread sleepForTimeInterval: 2 ];
@@ -646,6 +658,8 @@ - (void)testChecks {
646658 // check revenue is invalid
647659 XCTAssert ([self .loggerMock containsMessage: ADJLogLevelError beginsWith: @" Invalid amount -0.0001" ], @" %@ " , self.loggerMock );
648660
661+ // check the receipt had a nil transaction id
662+ XCTAssert ([self .loggerMock containsMessage: ADJLogLevelError beginsWith: @" Missing transactionId" ], @" %@ " , self.loggerMock );
649663
650664 // check the first parameters
651665 ADJActivityPackage *firstEventPackage = (ADJActivityPackage *) self.packageHandlerMock .packageQueue [1 ];
0 commit comments