public void Edit_Succeeds() { DateTime date = DateTime.Today; CustomDayDTO dayDTO = new CustomDayDTO() { TemplateName = "eerste_week_eerste_dag", DayNr = 1, WeekNr = 1, Date = DateTime.Today, PreDish = "Kervelsoep", MainDish = "Kip", Dessert = "Chocomousse", Notes = null }; _customDayRepository.Setup(c => c.GetByDate(date)).Returns(_dummyDBContext.CustomDay1); _dayRepository.Setup(d => d.GetByWeekAndDay(dayDTO.TemplateName, dayDTO.WeekNr, dayDTO.DayNr)).Returns(_dummyDBContext.Day1); ActionResult <CustomDay> actionResult = _controller.Edit(date, dayDTO); var response = actionResult?.Result as OkObjectResult; CustomDay customDay = response?.Value as CustomDay; Assert.Equal("Chocomousse", customDay.Dessert); Assert.Equal(dayDTO.DayNr, customDay.DayNr); _customDayRepository.Verify(a => a.SaveChanges(), Times.Once); }
public ActionResult <CustomDay> Edit(DateTime date, CustomDayDTO model) { CustomDay dayToEdit = _customDayRepository.GetByDate(date); if (dayToEdit == null) { return(NotFound()); } else { if (!dayToEdit.WeekNr.Equals(model.TemplateName) || (dayToEdit.WeekNr != model.WeekNr) || (dayToEdit.DayNr != model.DayNr)) { try { Day templateDayChosen = _dayRepository.GetByWeekAndDay(model.TemplateName, model.WeekNr, model.DayNr); dayToEdit.TemplateName = templateDayChosen.TemplateName; dayToEdit.WeekNr = templateDayChosen.WeekNr; dayToEdit.DayNr = templateDayChosen.DayNr; dayToEdit.DayActivities = new List <DayActivity>(); dayToEdit.Helpers = new List <Helper>(); foreach (DayActivity dayActivity in templateDayChosen.DayActivities) { DayActivity dayActivityToAdd = new DayActivity(dayToEdit, dayActivity.Activity, dayActivity.TimeOfDay); dayToEdit.AddDayActivity(dayActivityToAdd); } foreach (Helper helper in templateDayChosen.Helpers) { Helper helperToAdd = new Helper(dayToEdit, helper.User); dayToEdit.AddHelper(helperToAdd); } } catch (Exception ex) { return(BadRequest(ex.Message)); } } try { dayToEdit.Date = model.Date; dayToEdit.PreDish = model.PreDish; dayToEdit.MainDish = model.MainDish; dayToEdit.Dessert = model.Dessert; _customDayRepository.SaveChanges(); return(Ok(dayToEdit)); } catch (Exception ex) { return(BadRequest(ex.Message)); }; } }
public void AddCustomDay_NonExistingWeekNrAndDayNr_ReturnsNotFound() { CustomDayDTO dayDTO = new CustomDayDTO() { TemplateName = "eerste_week_eerste_dag", DayNr = 8, WeekNr = 5, Date = DateTime.Today, PreDish = "Kervelsoep", MainDish = "Kip", Dessert = "Chocomousse", Notes = null }; _dayRepository.Setup(a => a.GetByWeekAndDay(dayDTO.TemplateName, 1, 1)).Returns(_dummyDBContext.CustomDay1); ActionResult <CustomDay> actionResult = _controller.Add(dayDTO); Assert.IsType <NotFoundResult>(actionResult?.Result); _customDayRepository.Verify(a => a.SaveChanges(), Times.Never); }
public void EditCustomDay_WrongDate_ReturnsNotFound() { DateTime date = new DateTime(1945, 1, 1); CustomDayDTO dayDTO = new CustomDayDTO() { TemplateName = "eerste_week_eerste_dag", DayNr = 1, WeekNr = 1, Date = DateTime.Today, PreDish = "Kervelsoep", MainDish = "Kip", Dessert = "Chocomousse", Notes = null }; _customDayRepository.Setup(c => c.GetByDate(new DateTime(2019, 11, 21))).Returns(_dummyDBContext.CustomDay1); ActionResult <CustomDay> actionResult = _controller.Edit(date, dayDTO); Assert.IsType <NotFoundResult>(actionResult?.Result); _customDayRepository.Verify(a => a.SaveChanges(), Times.Never); }
public ActionResult <CustomDay> Add(CustomDayDTO model) { Day templateDayChosen = _dayRepository.GetByWeekAndDay(model.TemplateName, model.WeekNr, model.DayNr); if (templateDayChosen == null) { return(NotFound()); } else { try { CustomDay customDayToCreate = new CustomDay(templateDayChosen.TemplateName, templateDayChosen.WeekNr, templateDayChosen.DayNr, model.Date, model.PreDish, model.MainDish, model.Dessert); if (_customDayRepository.GetByDate(customDayToCreate.Date) != null) { return(BadRequest("A day for this date already exists")); } foreach (DayActivity dayActivity in templateDayChosen.DayActivities) { DayActivity dayActivityToAdd = new DayActivity(customDayToCreate, dayActivity.Activity, dayActivity.TimeOfDay); customDayToCreate.AddDayActivity(dayActivityToAdd); } foreach (Helper helper in templateDayChosen.Helpers) { Helper helperToAdd = new Helper(customDayToCreate, helper.User); customDayToCreate.AddHelper(helperToAdd); } _customDayRepository.Add(customDayToCreate); _customDayRepository.SaveChanges(); return(Ok(customDayToCreate)); } catch (Exception ex) { return(BadRequest(ex.Message)); } } }