Skip to content

Commit cf21e52

Browse files
committed
create disabledKits option
1 parent 6185034 commit cf21e52

File tree

3 files changed

+52
-0
lines changed

3 files changed

+52
-0
lines changed

UnitTests/MPKitContainerTests.m

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -703,6 +703,55 @@ - (void)testConfiguredKits {
703703

704704
}
705705

706+
- (void)testConfiguredKitsWhenDisabled {
707+
NSArray *configurations = @[
708+
@{
709+
@"id":@(42),
710+
@"as":@{
711+
@"secretKey":@"MySecretKey",
712+
@"sendTransactionData":@"true"
713+
},
714+
@"eau":@false
715+
},
716+
@{
717+
@"id":@314,
718+
@"as":@{
719+
@"secretKey":@"MySecretKey",
720+
@"sendTransactionData":@"true"
721+
},
722+
@"eau":@false
723+
}
724+
];
725+
726+
MPKitConfiguration *kitConfiguration = [[MPKitConfiguration alloc] initWithDictionary:configurations[1]];
727+
NSNumber *kitId = configurations[1][@"id"];
728+
[[kitContainer startKit:kitId configuration:kitConfiguration] start];
729+
kitConfiguration = [[MPKitConfiguration alloc] initWithDictionary:configurations[0]];
730+
kitId = configurations[0][@"id"];
731+
[[kitContainer startKit:kitId configuration:kitConfiguration] start];
732+
733+
[kitContainer configureKits:nil];
734+
[kitContainer configureKits:configurations];
735+
736+
NSArray<id<MPExtensionKitProtocol>> *activeKits = [kitContainer activeKitsRegistry];
737+
XCTAssertEqual(activeKits.count, 2);
738+
XCTAssertEqualObjects(activeKits[0].code, @42);
739+
XCTAssertEqualObjects(activeKits[1].code, @314);
740+
NSArray<NSNumber *> *configuredKits = [kitContainer configuredKitsRegistry];
741+
XCTAssertEqual(configuredKits.count, 2);
742+
XCTAssertTrue([configuredKits containsObject:@42]);
743+
XCTAssertTrue([configuredKits containsObject:@314]);
744+
745+
NSArray<NSNumber *> *disabledKitsId = @[@(42)];
746+
[kitContainer setDisabledKits:disabledKitsId];
747+
NSArray<id<MPExtensionKitProtocol>> *updatedActiveKits = [kitContainer activeKitsRegistry];
748+
XCTAssertEqual(updatedActiveKits.count, 1);
749+
XCTAssertEqualObjects(updatedActiveKits[0].code, @314);
750+
NSArray<NSNumber *> *updatedConfiguredKits = [kitContainer configuredKitsRegistry];
751+
XCTAssertEqual(updatedConfiguredKits.count, 1);
752+
XCTAssertTrue([updatedConfiguredKits containsObject:@314]);
753+
}
754+
706755
- (void)testForwardLoggedInUserWithMultipleKits {
707756
MParticleUser *currentUser = [MParticle sharedInstance].identity.currentUser;
708757
currentUser.isLoggedIn = true;

mParticle-Apple-SDK/Include/mParticle.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,8 @@ Defaults to false. Prevents the eventsHost above from overwriting the alias endp
393393
*/
394394
@property (nonatomic, strong, readwrite, nullable) MPDataPlanOptions *dataPlanOptions;
395395

396+
@property (nonatomic, strong, readwrite, nullable) NSArray<NSNumber *> *disabledKits;
397+
396398
/**
397399
Set the App Tracking Transparency Authorization Status upon starting the SDK.
398400
Only sets a new state if it has changed.

mParticle-Apple-SDK/mParticle.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,7 @@ - (void)startWithOptions:(MParticleOptions *)options {
671671

672672
_kitContainer_PRIVATE = [[MPKitContainer_PRIVATE alloc] init];
673673
_kitContainer_PRIVATE.sideloadedKits = options.sideloadedKits ?: [NSArray array];
674+
_kitContainer_PRIVATE.disabledKits = options.disabledKits;
674675
NSUInteger sideLoadedKitsCount = _kitContainer_PRIVATE.sideloadedKits.count;
675676
[userDefaults setSideloadedKitsCount:sideLoadedKitsCount];
676677

0 commit comments

Comments
 (0)