Exemple #1
0
        public void AddToSegment_throws_ArgumentNullException_when_key_is_null()
        {
            var sut = new MongoTrackingDataSource(collectionMock.Object);

            Action test = () => sut.AddToSegment("visitorId", null);

            Assert.Throws <ArgumentNullException>(test);
        }
Exemple #2
0
        public void PushToVisitorProperty_throws_ArgumentNullException_when_key_is_null()
        {
            var sut = new MongoTrackingDataSource(collectionMock.Object);

            Action test = () => sut.PushToVisitorProperty("visitorId", null, "value");

            Assert.Throws <ArgumentNullException>(test);
        }
Exemple #3
0
        public void SetVisitorProperties_throws_ArgumentNullException_when_visitorId_is_null()
        {
            var sut = new MongoTrackingDataSource(collectionMock.Object);

            Action test = () => sut.SetVisitorProperties(null, new Dictionary <string, object>());

            Assert.Throws <ArgumentNullException>(test);
        }
        public void SetVisitorProperty_updates_document(object expected)
        {
            var visitorId = ObjectId.GenerateNewId().ToString();
            var key       = "queryString";

            collection.InsertOne(GetInitialDocument());
            var sut = new MongoTrackingDataSource(collection);

            sut.SetVisitorProperty(visitorId, key, expected);

            var retrievedDocument = FindDocument(visitorId);
            var actual            = retrievedDocument[key].Value;

            Assert.Equal(expected, actual);
        }
        public void CountVisitors_counts_n_documents(int n)
        {
            var sut = new MongoTrackingDataSource(collection);

            for (var i = 0; i < n; i++)
            {
                collection.InsertOne(new object());
            }

            Assert.Equal(n, collection.Count(_ => true));

            var actual = sut.CountVisitors();

            Assert.Equal(n, actual);
        }
        public void SetVisitorProperties_updates_document()
        {
            var visitorId = ObjectId.GenerateNewId().ToString();

            collection.InsertOne(GetInitialDocument());
            var sut      = new MongoTrackingDataSource(collection);
            var expected = new Dictionary <string, object>
            {
                { "queryString", "?utm_source=facebook" },
                { "other", 42 }
            };

            sut.SetVisitorProperties(visitorId, expected);

            var retrievedDocument = FindDocument(visitorId);

            foreach (var val in expected)
            {
                Assert.Equal(val.Value, retrievedDocument[val.Key].Value);
            }
        }