public void AddMoreOccurrences() { // arrange var request = new UpdateEventOccurrenceSeriesRequest { EventId = _eventId, OccurrenceId = _seriesRootId, IsEnabled = false, IsNotificationListEnabled = true, IsRegistrationEnabled = true, Presenter = _newPresenter, MaximumAttendees = _newMaxAttendees, Cost = _newPrice, OverwriteCustomizations = false, AdditionalRecurrences = new ScheduleEntry[] { new ScheduleEntry{ Date = new DateTime(2000, 10, 1), Time = new TimeRange{ Start = new Time{ Hour = 8, Minute = 30}, End = new Time{ Hour = 9, Minute = 0}}}, new ScheduleEntry{ Date = new DateTime(2000, 10, 2), Time = new TimeRange{ Start = new Time{ Hour = 8, Minute = 30}, End = new Time{ Hour = 9, Minute = 0}}}, new ScheduleEntry{ Date = new DateTime(2000, 10, 3), Time = new TimeRange{ Start = new Time{ Hour = 8, Minute = 30}, End = new Time{ Hour = 9, Minute = 0}}}, } }; // act HandleRequest<UpdateEventOccurrenceSeriesResponse>(_handler, request); // assert using (var context = _entityContextFactory.CreateEntityContext()) { var series = context.EntitySet<EventOccurrence>() .Where(e => e.SeriesEventOccurrenceId == _seriesRootId) .OrderBy(e => e.Id) .AsEnumerable(); Assert.AreEqual(6, series.Count()); } }
public void NotifiesWhenCreatingAvailability() { // arrange var request = new UpdateEventOccurrenceSeriesRequest { EventId = _eventId, OccurrenceId = _seriesRootId, IsEnabled = false, IsNotificationListEnabled = true, IsRegistrationEnabled = true, Presenter = _newPresenter, MaximumAttendees = _newMaxAttendees, Cost = _newPrice, OverwriteCustomizations = true }; // act HandleRequest<UpdateEventOccurrenceSeriesResponse>(_handler, request); // assert _mockEmailProcessor.Verify(m => m.ProcessBatch(It.IsAny<IEnumerable<IEmailContext>>()), Times.Once()); }
public void PreserveCustomizations() { // arrange var request = new UpdateEventOccurrenceSeriesRequest { EventId = _eventId, OccurrenceId = _seriesRootId, IsEnabled = false, IsNotificationListEnabled = true, IsRegistrationEnabled = true, Presenter = _newPresenter, MaximumAttendees = _newMaxAttendees, Cost = _newPrice, OverwriteCustomizations = false }; // act HandleRequest<UpdateEventOccurrenceSeriesResponse>(_handler, request); // assert using (var context = _entityContextFactory.CreateEntityContext()) { var set = context.EntitySet<EventOccurrence>(); var series = set.Where(e => e.SeriesEventOccurrenceId == _seriesRootId).AsEnumerable(); Assert.AreEqual(3, series.Count()); var root = set.Find(_seriesRootId); Assert.AreEqual(false, root.IsEnabled); Assert.AreEqual(true, root.IsNotificationListEnabled); Assert.AreEqual(true, root.IsRegistrationEnabled); Assert.AreEqual(_newPresenter, root.Presenter); Assert.AreEqual(_newMaxAttendees, root.MaximumAttendees); Assert.AreEqual(_newPrice, root.Cost); var occurrence2 = set.Find(_seriesOccurrence2Id); Assert.AreEqual(false, occurrence2.IsEnabled); Assert.AreEqual(true, occurrence2.IsNotificationListEnabled); Assert.AreEqual(true, occurrence2.IsRegistrationEnabled); Assert.AreEqual(_newPresenter, occurrence2.Presenter); Assert.AreEqual(_newMaxAttendees, occurrence2.MaximumAttendees); Assert.AreEqual(_newPrice, occurrence2.Cost); var occurrence3 = set.Find(_customizedOccurrenceId); Assert.AreEqual(false, occurrence3.IsEnabled); Assert.AreEqual(true, occurrence3.IsNotificationListEnabled); Assert.AreEqual(true, occurrence3.IsRegistrationEnabled); Assert.AreEqual(_customPresenter, occurrence3.Presenter); Assert.AreEqual(_customMaxAttendees, occurrence3.MaximumAttendees); Assert.AreEqual(_customPrice, occurrence3.Cost); } }