public void Adding_ScheduleItem_On_Blacked_Out_Date_Should_Fail() { DateTime blackedOutDate = DateTime.Now.AddDays(3); string key = KeyHelper.GetKey <IScheduleRepository>(); var repository = RepositoryFactory.GetRepository <IScheduleRepository>(key); ScheduleController controller = new ScheduleController(); controller.CreateSchedule(TestFactories.GetDefaultLookup(), "Test Schedule", "This is a test", "test user"); Schedule schedule = repository.GetAllSchedules().Last(); controller.CreateBlackoutDate(schedule, "Test blackout date", blackedOutDate, "test user"); try { controller.CreateScheduleItem(schedule, blackedOutDate, TestFactories.GetDefaultPerson(), new List <Baptizer>(), TestFactories.GetDefaultPerson(), true, "test user"); Assert.Fail("controller.CreateScheduleItem() should throw an exception."); } catch (ValidationException ex) { Assert.IsTrue(ex.Errors[0].Contains("Unable to schedule a baptism on a Black Out Date.")); Assert.AreEqual(ex.Errors.Count, 1); } }
public void Schedule_Item_Create() { ScheduleController controller = new ScheduleController(); Schedule schedule = CreateSchedule(); controller.CreateScheduleItem(schedule, DateTime.Now, TestFactories.GetDefaultPerson(), new List <Baptizer>(), TestFactories.GetDefaultPerson(), true, "test user"); Assert.Greater(schedule.ScheduleItems.Count, 0); Assert.AreEqual(schedule.ScheduleItems.First().CreatedBy, "test user"); Assert.Greater(schedule.ScheduleItems.First().ScheduleItemID, 0); }
public void Schedule_Item_Read() { ScheduleController controller = new ScheduleController(); Schedule schedule = CreateSchedule(); controller.CreateScheduleItem(schedule, DateTime.Now, TestFactories.GetDefaultPerson(), new List <Baptizer>(), TestFactories.GetDefaultPerson(), true, "test user"); ScheduleItem item = schedule.ScheduleItems.First(); string key = KeyHelper.GetKey <IScheduleItemRepository>(); ScheduleItem newItem = RepositoryFactory.GetRepository <IScheduleItemRepository>(key).GetScheduleItem(item.ScheduleItemID); Assert.AreSame(item, newItem); }
public void Schedule_Item_Delete() { ScheduleController controller = new ScheduleController(); Schedule schedule = CreateSchedule(); controller.CreateScheduleItem(schedule, DateTime.Now, TestFactories.GetDefaultPerson(), new List <Baptizer>(), TestFactories.GetDefaultPerson(), true, "test user"); ScheduleItem item = schedule.ScheduleItems.First(); int itemID = item.ScheduleItemID; controller.DeleteScheduleItem(schedule, item.ScheduleItemID); string key = KeyHelper.GetKey <IScheduleItemRepository>(); Assert.IsFalse(RepositoryFactory.GetRepository <IScheduleItemRepository>(key).Exists(itemID)); }
public void Schedule_Item_Update() { ScheduleController controller = new ScheduleController(); Schedule schedule = CreateSchedule(); controller.CreateScheduleItem(schedule, DateTime.Now, TestFactories.GetDefaultPerson(), new List <Baptizer>(), TestFactories.GetDefaultPerson(), true, "test user"); ScheduleItem item = schedule.ScheduleItems.First(); item.ScheduleItemDate = DateTime.Now.AddDays(1); controller.UpdateScheduleItem(schedule, item.ScheduleItemID, item.ScheduleItemDate, item.Person, item.Baptizers.ToList(), item.ApprovedBy, true, "other user"); Assert.AreNotEqual(item.ScheduleItemDate, DateTime.Now); Assert.AreNotEqual(item.CreatedBy, item.ModifiedBy); Assert.AreEqual(item.ModifiedBy, "other user"); }
public void Schedule_Item_Baptizer_Sync() { ScheduleController controller = new ScheduleController(); Schedule schedule = CreateSchedule(); Baptizer b1 = new Baptizer { Person = new Person { PersonID = 3, FirstName = "Jimmy", LastName = "Jams" } }; Baptizer b2 = new Baptizer { Person = new Person { PersonID = 4, FirstName = "James", LastName = "Jams" } }; List <Baptizer> baptizers = new List <Baptizer> { TestFactories.GetBaptizer(), b1 }; controller.CreateScheduleItem(schedule, DateTime.Now, TestFactories.GetDefaultPerson(), baptizers, TestFactories.GetDefaultPerson(), true, "test user"); ScheduleItem item = schedule.ScheduleItems.First(); baptizers = new List <Baptizer> { TestFactories.GetBaptizer(), b2 }; controller.UpdateScheduleItem(schedule, item.ScheduleItemID, DateTime.Now, TestFactories.GetDefaultPerson(), baptizers, TestFactories.GetDefaultPerson(), true, "test user"); Assert.AreEqual(item.Baptizers.Count, 2); Assert.IsTrue(item.Baptizers.Any(b => b.Person.PersonID == 2)); Assert.IsTrue(item.Baptizers.Any(b => b.Person.PersonID == 4)); Assert.IsFalse(item.Baptizers.Any(b => b.Person.PersonID == 3)); }
private void btnSave_Click(object sender, EventArgs e) { try { ClearStatus(); DateTime date = GetDate(); Person person = LoadPerson(ihPersonID.Value); Person approver = LoadPerson(ihApproverID.Value); int scheduleItemID; if (scheduleItem == null) { scheduleController.CreateScheduleItem(schedule, date, person, GetBaptizers(), approver, cbConfirmed.Checked, CurrentUser.Identity.Name); scheduleItemID = schedule.ScheduleItems.First(i => i.Person.FullName == person.FullName).ScheduleItemID; scheduleItem = schedule.ScheduleItems.SingleOrDefault(i => i.ScheduleItemID == scheduleItemID); } else { scheduleController.UpdateScheduleItem(schedule, scheduleItem.ScheduleItemID, date, person, GetBaptizers(), approver, cbConfirmed.Checked, CurrentUser.Identity.Name); scheduleItemID = scheduleItem.ScheduleItemID; } if (approver == null) { lblApprover.Text = Constants.NULL_STRING; } ihPersonList.Value = Constants.NULL_STRING; ihSearchType.Value = Constants.NULL_STRING; ihScheduleItemID.Value = scheduleItemID.ToString(); ShowSuccess(); } catch (ValidationException ex) { ShowErrors(ex.Errors); } }