Esempio n. 1
0
        public EventsResource.ListRequest CreateListRequestForWeek(string calendarId, Repository.Model.Week week)
        {
            var mondayOfRequestedWeek = DateTimeHelper.GetMondayForGivenWeek(week.Year, week.WeekNr);

            var request = service.Events.List(calendarId);

            request.ShowDeleted            = true;
            request.ShowDeleted            = false;
            request.MaxResults             = 100;
            request.SharedExtendedProperty = "Week=" + week.Year + "-" + week.WeekNr;


            var start = mondayOfRequestedWeek.AddDays(-7); // one week before

            request.TimeMin = new DateTime(start.Year, start.Month, start.Day, 0, 0, 0);

            var end = mondayOfRequestedWeek.AddDays(4).AddDays(7); // fridays one week after

            request.TimeMax = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0);

            return(request);
        }
        public void HandleChangeWithNonemptyListShouldReturnTrueAndWriteLoggingTest()
        {
            // arrange
            var sut = new ConsoleReportScheduleChange();

            var week = new Repository.Model.Week()
            {
                Id     = 1,
                Hash   = "hash 1",
                Year   = 2015,
                WeekNr = 12
            };

            var list = new List <ScheduleDiff>()
            {
                new ScheduleDiff()
                {
                    Status   = ScheduleStatus.Added,
                    Schedule = new Repository.Model.Schedule()
                    {
                        Id            = 1, WeekId = week.Id, Week = week,
                        StartDateTime = new DateTime(2015, 2, 22, 10, 00, 00),
                        EndDateTime   = new DateTime(2015, 2, 22, 15, 30, 00),
                        Location      = "The Club"
                    },
                },
                new ScheduleDiff()
                {
                    Status   = ScheduleStatus.Removed,
                    Schedule = new Repository.Model.Schedule()
                    {
                        Id            = 1, WeekId = week.Id, Week = week,
                        StartDateTime = new DateTime(2015, 2, 22, 9, 00, 00),
                        EndDateTime   = new DateTime(2015, 2, 22, 17, 30, 00),
                        Location      = "Bongo beach"
                    },
                },
                new ScheduleDiff()
                {
                    Status   = ScheduleStatus.Unchanged,
                    Schedule = new Repository.Model.Schedule()
                    {
                        Id            = 1, WeekId = week.Id, Week = week,
                        StartDateTime = new DateTime(2015, 2, 20, 9, 00, 00),
                        EndDateTime   = new DateTime(2015, 2, 20, 17, 30, 00),
                        Location      = "The Plazza"
                    },
                }
            };

            // act
            var result = sut.HandleChange(list);

            // assert
            Assert.That(result, Is.True);
            Assert.That(logger.Logs, Is.Not.Null);
            Assert.That(logger.Logs.Count, Is.EqualTo(3));
            Assert.That(logger.Logs[0], Is.EqualTo("= 20-02 09:00-17:30 The Plazza"));
            Assert.That(logger.Logs[1], Is.EqualTo("- 22-02 09:00-17:30 Bongo beach"));
            Assert.That(logger.Logs[2], Is.EqualTo("+ 22-02 10:00-15:30 The Club"));
        }