public virtual MixpanelMessage GetMessage(IMixpanelClient mixpanelClient) { MixpanelMessage trackMessage = mixpanelClient.GetTrackMessage(this.GetEventName(), this); if (trackMessage.get_Data().ContainsKey("properties")) { Dictionary <string, string> arg_48_0 = SettingsHolder.get_Settings().get_BannerSettings().GetSettingsAsDictionary(); IDictionary <string, object> dictionary = (IDictionary <string, object>)trackMessage.get_Data()["properties"]; foreach (KeyValuePair <string, string> current in arg_48_0) { if (dictionary.ContainsKey(current.Key)) { dictionary[current.Key] = current.Value; } else { dictionary.Add(current.Key, current.Value); } } foreach (KeyValuePair <string, string> current2 in BaseMixpanelEvent.GetKvStoreValues()) { if (dictionary.ContainsKey(current2.Key)) { dictionary[current2.Key] = current2.Value; } else { dictionary.Add(current2.Key, current2.Value); } } } return(trackMessage); }
public void Given_GetMessage_When_NoTime_Then_CorrectDataSent() { Client.UtcNow = () => Time; MixpanelMessage message = Client.GetPeopleTrackChargeMessage(DistinctId, DecimalPropertyValue); AssertMessage(message, DistinctId); }
public void When_AllTypeOfMessages_Then_DividedCorrectly() { var messages = new[] { // Track mixpanelClient.GetTrackMessage(Event, DistinctId, DictionaryWithStringProperty), mixpanelClient.GetAliasMessage(DistinctId, Alias), // Engage mixpanelClient.GetPeopleSetMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleSetOnceMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleAddMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleAppendMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleUnionMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleRemoveMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleUnsetMessage(DistinctId, StringPropertyArray), mixpanelClient.GetPeopleDeleteMessage(DistinctId), mixpanelClient.GetPeopleTrackChargeMessage(DistinctId, DecimalPropertyValue) }; var batchMessage = new BatchMessageWrapper(messages); // Check track Assert.That(batchMessage.TrackMessages.Count, Is.EqualTo(1)); List <MixpanelMessage> trackMessages = batchMessage.TrackMessages.Single(); Assert.That(trackMessages.Count, Is.EqualTo(2)); MixpanelMessage trackMessage = trackMessages[0]; Assert.That(trackMessage.Data["event"], Is.EqualTo(Event)); MixpanelMessage aliasMessage = trackMessages[1]; Assert.That(aliasMessage.Data["event"], Is.EqualTo("$create_alias")); // Check engage Assert.That(batchMessage.EngageMessages.Count, Is.EqualTo(1)); List <MixpanelMessage> engageMessages = batchMessage.EngageMessages.Single(); Assert.That(engageMessages.Count, Is.EqualTo(9)); }
public void Given_GetMessage_When_DistinctIdFromParams_Then_CorrectMessageReturned() { MixpanelMessage message = Client.GetPeopleUnsetMessage(DistinctId, StringPropertyArray); AssertMessage(message, DistinctId); }
private void AssertMessage(MixpanelMessage msg, object expectedDistinctId) { Assert.That(msg.Kind, Is.EqualTo(MessageKind.PeopleUnset)); AssertDictionary(msg.Data, expectedDistinctId); }
private void CheckTrackMessage(MixpanelMessage msg, CheckOptions checkOptions = CheckOptions.None) { Assert.That(msg.Kind, Is.EqualTo(MessageKind.Track)); CheckTrackDictionary(msg.Data, checkOptions); }
public void Given_GetMessage_When_TimeFromParams_Then_CorrectDataSent() { MixpanelMessage message = Client.GetPeopleTrackChargeMessage(DistinctId, DecimalPropertyValue, Time); AssertMessage(message, DistinctId); }
public void Given_GetMessage_When_DistinctIdFromParams_Then_CorrectMessageReturned() { MixpanelMessage message = Client.GetPeopleRemoveMessage(DistinctId, GetProperties()); AssertMessage(message, DistinctId); }
public void Given_GetMessage_When_DistinctIdFromProps_Then_CorrectMessageReturned() { MixpanelMessage message = Client.GetPeopleRemoveMessage(GetProperties(includeDistinctId: true)); AssertMessage(message, DistinctId); }
public void Given_GetMessage_When_DistinctIdFromSuperProps_Then_CorrectMessageReturned() { MixpanelMessage message = Client.GetPeopleSetOnceMessage(GetProperties()); AssertMessage(message, SuperDistinctId); }
private static void CheckTrackMessage(MixpanelMessage msg) { Assert.That(msg.Kind, Is.EqualTo(MessageKind.Track)); CheckTrackDictionary(msg.Data); }
public void Given_GetMessage_When_DistinctIdFromProps_Then_CorrectMessageReturned() { MixpanelMessage message = Client.GetTrackMessage(Event, GetProperties(includeDistinctId: true)); AssertMessage(message, DistinctId, 4 + 2 + 0); }
public void Given_GetMessage_When_NoDistinctId_Then_CorrectMessageReturned() { MixpanelMessage message = Client.GetTrackMessage(Event, GetProperties(includeDistinctId: false)); AssertMessage(message, null, 3 + 2 + 0); }
private void AssertMessage(MixpanelMessage msg, object expectedDistinctId, int propsCount) { Assert.That(msg.Kind, Is.EqualTo(MessageKind.Track)); AssertDictionary(msg.Data, expectedDistinctId, propsCount); }
public void Given_GetMessage_When_DistinctIdFromParams_Then_CorrectMessageReturned() { MixpanelMessage message = Client.GetAliasMessage(DistinctId, Alias); AssertMessage(message, DistinctId); }
public void Given_GetMessage_When_DistinctIdFromSuperProps_Then_CorrectMessageReturned() { MixpanelMessage message = Client.GetAliasMessage(Alias); AssertMessage(message, SuperDistinctId); }