public void CountsLogItemsForGivenDay() { // Arrange var mockDbContext = new Mock <ILocationLogDbContext>(); var dbSet = GetQueryableMockDbSet(new List <LocationLog> { new LocationLog { Title = "Leeds", WoeId = 1234, Viewed = new DateTime(2020, 4, 12, 0, 1, 0) }, new LocationLog { Title = "Leeds", WoeId = 1234, Viewed = new DateTime(2020, 4, 12, 15, 45, 0) }, new LocationLog { Title = "Leeds", WoeId = 1234, Viewed = new DateTime(2020, 4, 13, 0, 1, 0) } }); mockDbContext.SetupGet(db => db.LogEntries) .Returns(dbSet); var logger = new LocationLogger(mockDbContext.Object); // Act var count11th = logger.GetDailyLocationViews(1234, new DateTime(2020, 4, 11)); var count12th = logger.GetDailyLocationViews(1234, new DateTime(2020, 4, 12)); var count13th = logger.GetDailyLocationViews(1234, new DateTime(2020, 4, 13)); // Assert Assert.Equal(0, count11th); Assert.Equal(2, count12th); Assert.Equal(1, count13th); }
public async void AddsLogItemToDbOnce() { // Arrange var mockDbContext = new Mock <ILocationLogDbContext>(); mockDbContext.Setup(db => db.Add(It.IsAny <LocationLog>())) .Verifiable(); var logger = new LocationLogger(mockDbContext.Object); var logItem = new LocationResult { Title = "Leeds", WoeId = 1234 }; // Act await logger.OnLocationView(logItem); // Assert mockDbContext.Verify(db => db.Add(It.Is <LocationLog>(l => l.WoeId == 1234)), Times.Exactly(1)); }