public void Test_Empty_Model_Is_Returned_When_There_Are_No_Entries() { var entryService = new Mock<IEntryService>(); entryService .Setup(e => e.GetEntries(It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<string>())) .Returns(new List<Entry>()); var statisticsAssembler = new StatisticsAssembler( entryService.Object, GetDefaultTimeService().Object, GetDefaultUserSettingsService().Object); var result = statisticsAssembler.AssembleHomeStatisticsViewModel("someUserId"); Assert.IsTrue(!result.PerTag.Items.Any()); }
public void Test_AssembleHomeStatisticsViewModel_Fills_In_Null_When_LatestEntry_Is_Null() { var entryService = new Mock<IEntryService>(); entryService .Setup(e => e.GetLatestEntry(It.IsAny<string>())) .Returns((Entry)null); var statisticsAssembler = new StatisticsAssembler(entryService.Object); var statisticsViewModel = statisticsAssembler.AssembleHomeStatisticsViewModel(It.IsAny<string>()); Assert.IsFalse(statisticsViewModel.HasLatestEntry); Assert.IsNull(statisticsViewModel.LatestEntry); }
public void Test_AssembleHomeStatisticsViewModel_Fills_In_LatestEntry() { var entryService = new Mock<IEntryService>(); var anyEntry = new Entry() { CreatedOn = new DateTime(2010, 10, 8) }; entryService .Setup(e => e.GetLatestEntry(It.IsAny<string>())) .Returns(anyEntry); var statisticsAssembler = new StatisticsAssembler(entryService.Object); var statisticsViewModel = statisticsAssembler.AssembleHomeStatisticsViewModel(It.IsAny<string>()); Assert.IsTrue(statisticsViewModel.HasLatestEntry); Assert.IsNotNull(statisticsViewModel.LatestEntry); }
public void Test_Fills_In_LatestEntry() { var entryService = GetEntryService(); var anyEntry = new Entry() { CreatedOn = new DateTime(2010, 10, 8) }; entryService .Setup(e => e.GetLatestEntry(It.IsAny<string>())) .Returns(anyEntry); var statisticsAssembler = new StatisticsAssembler( entryService.Object, GetDefaultTimeService().Object, GetDefaultUserSettingsService().Object); var statisticsViewModel = new HomeStatisticsViewModel(_baseDateTime, _baseDateTime.AddDays(3)); var statisticsViewModelResult = statisticsAssembler.AssembleHomeStatisticsViewModel(statisticsViewModel, It.IsAny<string>()); Assert.IsTrue(statisticsViewModelResult.HasLatestEntry); Assert.IsNotNull(statisticsViewModelResult.LatestEntry); }
public void Test_AssembleHomeStatisticsViewModel_Fills_In_Number_Of_Entries() { var entryService = new Mock<IEntryService>(); entryService .Setup(e => e.GetNumberOfEntries(It.IsAny<string>())) .Returns(5); var statisticsAssembler = new StatisticsAssembler(entryService.Object); var statisticsViewModel = statisticsAssembler.AssembleHomeStatisticsViewModel(It.IsAny<string>()); Assert.AreEqual(5, statisticsViewModel.NumberOfEntries); }
public void Test_Fills_In_Null_When_FirstEntry_Is_Null() { var entryService = GetEntryService(); entryService .Setup(e => e.GetFirstRealEntry(It.IsAny<string>())) .Returns((Entry)null); var statisticsAssembler = new StatisticsAssembler( entryService.Object, GetDefaultTimeService().Object, GetDefaultUserSettingsService().Object); var statisticsViewModel = new HomeStatisticsViewModel(_baseDateTime, _baseDateTime.AddDays(3)); var statisticsViewModelResult = statisticsAssembler.AssembleHomeStatisticsViewModel(statisticsViewModel, It.IsAny<string>()); Assert.IsFalse(statisticsViewModelResult.HasFirstEntry); Assert.IsNull(statisticsViewModelResult.FirstEntry); }
public void Test_Uses_TitleCased_Names_For_The_TagNames() { var statisticsAssembler = new StatisticsAssembler( GetEntryService().Object, GetDefaultTimeService().Object, GetDefaultUserSettingsService().Object); var statisticsViewModel = new HomeStatisticsViewModel(_baseDateTime, _baseDateTime.AddDays(3)); var statisticsViewModelResult = statisticsAssembler.AssembleHomeStatisticsViewModel(statisticsViewModel, It.IsAny<string>()); var firstPerTag = statisticsViewModelResult.PerTag.Items.First(); Assert.AreEqual("Commuting", firstPerTag.TagName); }
public void Test_PerTag_ViewModel_Is_Calculated_Correctly() { var statisticsAssembler = new StatisticsAssembler( GetEntryService().Object, GetDefaultTimeService().Object, GetDefaultUserSettingsService().Object); var statisticsViewModel = new HomeStatisticsViewModel(_baseDateTime, _baseDateTime.AddDays(3)); var statisticsViewModelResult = statisticsAssembler.AssembleHomeStatisticsViewModel(statisticsViewModel, It.IsAny<string>()); var firstPerTag = statisticsViewModelResult.PerTag.Items.First(); var secondPerTag = statisticsViewModelResult.PerTag.Items.ElementAt(1); Assert.AreEqual(1, firstPerTag.Time.Days); Assert.AreEqual(12, firstPerTag.Time.Hours); Assert.AreEqual(75.0, Math.Ceiling(firstPerTag.Percentage)); Assert.AreEqual(0, secondPerTag.Time.Days); Assert.AreEqual(12, secondPerTag.Time.Hours); Assert.AreEqual(25, Math.Ceiling(secondPerTag.Percentage)); }
public void Test_Orders_PerTag_Items_Descending() { var statisticsAssembler = new StatisticsAssembler( GetEntryService().Object, GetDefaultTimeService().Object, GetDefaultUserSettingsService().Object); var statisticsViewModel = new HomeStatisticsViewModel(_baseDateTime, _baseDateTime.AddDays(3)); var statisticsViewModelResult = statisticsAssembler.AssembleHomeStatisticsViewModel(statisticsViewModel, It.IsAny<string>()); var firstPerTag = statisticsViewModelResult.PerTag.Items.First(); var secondPerTag = statisticsViewModelResult.PerTag.Items.ElementAt(1); Assert.IsTrue(firstPerTag.Percentage > secondPerTag.Percentage); }
public void Test_Fills_In_Number_Of_Entries() { var entryService = GetEntryService(); entryService .Setup(e => e.GetNumberOfEntries(It.IsAny<string>())) .Returns(5); var statisticsAssembler = new StatisticsAssembler( entryService.Object, GetDefaultTimeService().Object, GetDefaultUserSettingsService().Object); var statisticsViewModel = new HomeStatisticsViewModel(_baseDateTime, _baseDateTime.AddDays(3)); var statisticsViewModelResult = statisticsAssembler.AssembleHomeStatisticsViewModel(statisticsViewModel, It.IsAny<string>()); Assert.AreEqual(5, statisticsViewModelResult.NumberOfEntries); }