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); }
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); }
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); } }