Skip to content

Commit 049e10f

Browse files
author
Nahuel Alan Grimaudo
committed
Add unit test for product.position = 0
1 parent 52a3f8a commit 049e10f

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

mParticle-Google-Analytics-Firebase-GA4Tests/MPKitFirebaseGA4AnalyticsTests.m

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,27 @@ - (void)testProductParameters {
312312
XCTAssertEqual([item count], 9);
313313
}
314314

315+
- (void)testProductPositionEqualZero {
316+
MPKitFirebaseGA4Analytics *exampleKit = [[MPKitFirebaseGA4Analytics alloc] init];
317+
[exampleKit didFinishLaunchingWithConfiguration:@{}];
318+
319+
MPProduct *product = [[MPProduct alloc] initWithName:@"expensivePotato" sku:@"SKU123" quantity:@1 price:@40.0];
320+
NSMutableDictionary<NSString *, id> *testProductCustomAttributes = [[@{@"productCustomAttribute": @"potato", @"store": @"Target"} mutableCopy] mutableCopy];
321+
product.brand = @"LV";
322+
product.category = @"vegetable";
323+
product.position = 0;
324+
product.userDefinedAttributes = testProductCustomAttributes;
325+
326+
MPCommerceEvent *event = [[MPCommerceEvent alloc] initWithImpressionName:@"suggested products list" product:product];
327+
NSSet<MPProduct *> *impressionProducts = event.impressions[@"suggested products list"];
328+
329+
NSArray *itemsArray = [exampleKit getParametersForProducts:impressionProducts];
330+
id item = itemsArray[0];
331+
332+
// The item inside itemsArray should include 9 parameters in total including the 2 product custom attributes
333+
XCTAssertEqual([item count], 9);
334+
}
335+
315336
- (void)testCommerceEventCheckoutOptions {
316337
MPKitFirebaseGA4Analytics *exampleKit = [[MPKitFirebaseGA4Analytics alloc] init];
317338
[exampleKit didFinishLaunchingWithConfiguration:@{}];

0 commit comments

Comments
 (0)