Exemple #1
0
            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>();
            }
Exemple #2
0
            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>());
            }
Exemple #3
0
            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)));
            }
Exemple #4
0
            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)));
            }
Exemple #5
0
            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)));
            }
Exemple #6
0
            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)));
            }