public void MissingCalendarFileThrowsFileNotFoundException() { string path = @"c:\calendar.csv"; var fileSystem = Substitute.For <IFileSystem>(); fileSystem.FileExists(path).Returns(false); var service = new JaevnerService(null); var runner = new JaevnerRunner(fileSystem, service); Action act = () => runner.Run(new[] { path }); act.ShouldThrow <FileNotFoundException>(); }
public void ExistingEntryWithoutUniqueIdIsNotRemoved() { var repository = Substitute.For <ICalendarRepository>(); var entries = new List <JaevnerEntry>(); entries.Add(new JaevnerEntry { StartDateTime = DateTime.Now.AddDays(-2) }); repository.ListEntries().Returns(entries); var service = new JaevnerService(repository); service.RemoveIrrelevantEntries(entries, 10); repository.DidNotReceive().Remove(Arg.Any <JaevnerEntry>()); }
public void NewEntryIsAddedToRepository() { var repository = Substitute.For <ICalendarRepository>(); repository.ListEntries().Returns(new List <JaevnerEntry>()); const string uniqueId = "123456"; var service = new JaevnerService(repository); var entries = new List <JaevnerEntry>(); entries.Add(new JaevnerEntry { UniqueId = "123456", StartDateTime = DateTime.Now }); service.ProcessEntries(entries); repository.Received().Insert(Arg.Is <JaevnerEntry>(e => e.UniqueId.Equals(uniqueId))); }
public void ExistingEntryIsUpdated() { const string uniqueId = "123456"; var entries = new List <JaevnerEntry>(); entries.Add(new JaevnerEntry { UniqueId = uniqueId, StartDateTime = DateTime.Now }); var repository = Substitute.For <ICalendarRepository>(); repository.EntryExists(uniqueId).Returns(true); var service = new JaevnerService(repository); service.ProcessEntries(entries); repository.Received().Update(Arg.Is <JaevnerEntry>(e => e.UniqueId.Equals(uniqueId))); }
public void ExistingEntryThatIsNotOlderThanNumberOfDaysToKeepIsKept() { const string uniqueId = "123456"; var repository = Substitute.For <ICalendarRepository>(); var entries = new List <JaevnerEntry>(); entries.Add(new JaevnerEntry { UniqueId = uniqueId, StartDateTime = DateTime.Now.AddDays(-2) }); repository.ListEntries().Returns(entries); var service = new JaevnerService(repository); service.RemoveIrrelevantEntries(entries, 10); repository.DidNotReceive().Remove(Arg.Is <JaevnerEntry>(e => e.UniqueId.Equals(uniqueId))); }
public void ExistingEntryInCalendarThatIsNotIncludedInNewDataIsDeleted() { const string uniqueId = "123456"; var repository = Substitute.For <ICalendarRepository>(); repository.ListEntries().Returns(new List <JaevnerEntry> { new JaevnerEntry { UniqueId = uniqueId } }); var service = new JaevnerService(repository); service.RemoveIrrelevantEntries(new List <JaevnerEntry>(), 5); repository.Received().Remove(Arg.Is <JaevnerEntry>(e => e.UniqueId.Equals(uniqueId))); }