FBAEMKit/FBAEMKitTests/Helpers/SampleAEMData.swift (156 lines of code) (raw):

/* * Copyright (c) Meta Platforms, Inc. and affiliates. * All rights reserved. * * This source code is licensed under the license found in the * LICENSE file in the root directory of this source tree. */ import FBAEMKit import Foundation final class SampleAEMData { // swiftlint:disable:this convenience_type enum Keys { static let defaultCurrency = "default_currency" static let cutoffTime = "cutoff_time" static let validFrom = "valid_from" static let configMode = "config_mode" static let conversionValueRules = "conversion_value_rules" static let conversionValue = "conversion_value" static let priority = "priority" static let events = "events" static let eventName = "event_name" static let businessID = "advertiser_id" } enum Values { static let purchase = "fb_mobile_purchase" static let donate = "Donate" static let defaultMode = "DEFAULT" static let USD = "USD" } static let validConfigData1: [String: Any] = [ Keys.defaultCurrency: Values.USD, Keys.cutoffTime: 1, Keys.validFrom: 10000, Keys.configMode: Values.defaultMode, Keys.conversionValueRules: [ [ Keys.conversionValue: 2, Keys.priority: 10, Keys.events: [ [ Keys.eventName: Values.purchase, ], [ Keys.eventName: Values.donate, ], ], ], ], ] static let validConfigData2: [String: Any] = [ Keys.defaultCurrency: Values.USD, Keys.cutoffTime: 1, Keys.validFrom: 10001, Keys.configMode: Values.defaultMode, Keys.conversionValueRules: [ [ Keys.conversionValue: 2, Keys.priority: 10, Keys.events: [ [ Keys.eventName: Values.purchase, ], [ Keys.eventName: Values.donate, ], ], ], [ Keys.conversionValue: 3, Keys.priority: 11, Keys.events: [ [ Keys.eventName: Values.purchase, ], ], ], ], ] static let validConfigData3: [String: Any] = [ Keys.defaultCurrency: Values.USD, Keys.cutoffTime: 1, Keys.validFrom: 20000, Keys.configMode: Values.defaultMode, Keys.conversionValueRules: [ [ Keys.conversionValue: 2, Keys.priority: 10, Keys.events: [ [ Keys.eventName: Values.purchase, ], ], ], ], ] static let validAdvertiserSingleEntryRule = _AEMAdvertiserSingleEntryRule( with: .contains, paramKey: "test", linguisticCondition: "hello", numericalCondition: NSNumber(10), arrayCondition: ["abv"] ) static let validAdvertiserMultiEntryRule = _AEMAdvertiserMultiEntryRule( with: .and, rules: [validAdvertiserSingleEntryRule] ) static let validAdvertiserSingleEntryRuleJson1: [String: Any] = ["content": ["starts_with": "abc"]] static let validAdvertiserSingleEntryRuleJson2: [String: Any] = ["value": ["lt": 10]] static let validAdvertiserSingleEntryRuleJson3: [String: Any] = ["content": ["is_any": ["abc"]]] static let advertiserSingleEntryRule1 = _AEMAdvertiserSingleEntryRule( with: .startsWith, paramKey: "content", linguisticCondition: "abc", numericalCondition: nil, arrayCondition: nil ) static let advertiserSingleEntryRule2 = _AEMAdvertiserSingleEntryRule( with: .lessThan, paramKey: "value", linguisticCondition: nil, numericalCondition: NSNumber(value: 10), arrayCondition: nil ) static let advertiserSingleEntryRule3 = _AEMAdvertiserSingleEntryRule( with: .isAny, paramKey: "content", linguisticCondition: nil, numericalCondition: nil, arrayCondition: ["abc"] ) static let invocationWithAdvertiserID1 = _AEMInvocation( campaignID: "test_campaign_1234", acsToken: "test_token_1234567", acsSharedSecret: "test_shared_secret", acsConfigID: "test_config_id_123", businessID: "test_advertiserid_123", catalogID: nil, isTestMode: false, hasSKAN: false, isConversionFilteringEligible: true )! // swiftlint:disable:this force_unwrapping static let invocationWithAdvertiserID2 = _AEMInvocation( campaignID: "test_campaign_1235", acsToken: "test_token_2345678", acsSharedSecret: "test_shared_secret_124", acsConfigID: "test_config_id_124", businessID: "test_advertiserid_12346", catalogID: nil, isTestMode: false, hasSKAN: false, isConversionFilteringEligible: true )! // swiftlint:disable:this force_unwrapping static let invocationWithoutAdvertiserID = _AEMInvocation( campaignID: "test_campaign_4321", acsToken: "test_token_7654", acsSharedSecret: "test_shared_secret_123", acsConfigID: "test_config_id_333", businessID: nil, catalogID: nil, isTestMode: false, hasSKAN: false, isConversionFilteringEligible: true )! // swiftlint:disable:this force_unwrapping }