Exemplo n.º 1
0
        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));
        }
Exemplo n.º 4
0
        public void Given_GetMessage_When_DistinctIdFromParams_Then_CorrectMessageReturned()
        {
            MixpanelMessage message = Client.GetPeopleUnsetMessage(DistinctId, StringPropertyArray);

            AssertMessage(message, DistinctId);
        }
Exemplo n.º 5
0
 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);
        }
Exemplo n.º 8
0
        public void Given_GetMessage_When_DistinctIdFromParams_Then_CorrectMessageReturned()
        {
            MixpanelMessage message = Client.GetPeopleRemoveMessage(DistinctId, GetProperties());

            AssertMessage(message, DistinctId);
        }
Exemplo n.º 9
0
        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);
 }
Exemplo n.º 12
0
        public void Given_GetMessage_When_DistinctIdFromProps_Then_CorrectMessageReturned()
        {
            MixpanelMessage message = Client.GetTrackMessage(Event, GetProperties(includeDistinctId: true));

            AssertMessage(message, DistinctId, 4 + 2 + 0);
        }
Exemplo n.º 13
0
        public void Given_GetMessage_When_NoDistinctId_Then_CorrectMessageReturned()
        {
            MixpanelMessage message = Client.GetTrackMessage(Event, GetProperties(includeDistinctId: false));

            AssertMessage(message, null, 3 + 2 + 0);
        }
Exemplo n.º 14
0
 private void AssertMessage(MixpanelMessage msg, object expectedDistinctId, int propsCount)
 {
     Assert.That(msg.Kind, Is.EqualTo(MessageKind.Track));
     AssertDictionary(msg.Data, expectedDistinctId, propsCount);
 }
Exemplo n.º 15
0
        public void Given_GetMessage_When_DistinctIdFromParams_Then_CorrectMessageReturned()
        {
            MixpanelMessage message = Client.GetAliasMessage(DistinctId, Alias);

            AssertMessage(message, DistinctId);
        }
Exemplo n.º 16
0
        public void Given_GetMessage_When_DistinctIdFromSuperProps_Then_CorrectMessageReturned()
        {
            MixpanelMessage message = Client.GetAliasMessage(Alias);

            AssertMessage(message, SuperDistinctId);
        }