public void AddLessonsToCourse_ReturnCorrectViewIfModelIsNotValid() { var mockModel = new AddLessonsViewModel(); this.controller.ModelState.AddModelError(string.Empty, string.Empty); ViewResult result = this.controller.AddLessonsToCourse(mockModel) as ViewResult; Assert.AreEqual("AddLessonsToCourse", result.ViewName); }
public void AddLessonsToCourse_ReturnCorrectViewIfDatesCoincides() { var courseMock = new CourseModel(); var lessonMock = new LessonModel() { DateTime = new DateTime(2001, 01, 01) }; var mockModel = new AddLessonsViewModel() { LessonModel = lessonMock, CourseModel = courseMock }; ViewResult result = this.controller.AddLessonsToCourse(mockModel) as ViewResult; Assert.AreEqual("AddLessonsToCourse", result.ViewName); }
public void AddLessonsToCourse_ReturnCorrectValueIfCourseIsDone() { var courseMock = new CourseModel() { IsDone = true }; var lessonMock = new LessonModel() { DateTime = new DateTime() }; var mockModel = new AddLessonsViewModel() { LessonModel = lessonMock, CourseModel = courseMock }; RedirectToRouteResult result = this.controller.AddLessonsToCourse(mockModel) as RedirectToRouteResult; Assert.IsInstanceOf(typeof(RedirectToRouteResult), result); Assert.AreEqual("Index", result.RouteValues["action"]); }
public ActionResult CreateCourse(CourseModel courseModel) { if (!ModelState.IsValid) { return(this.View("CreateCourse")); } if (this.repository.CreateCourse(courseModel.Name)) { var addLessonsViewModel = new AddLessonsViewModel() { CourseModel = courseModel }; return(this.View("AddLessonsToCourse", addLessonsViewModel)); } ModelState.AddModelError(string.Empty, "Name's been used"); return(this.View("CreateCourse")); }
public ActionResult GetCourseFromXmlFile(HttpPostedFileBase xmlFile) { if (XmlValidator.IsXmlFile(xmlFile)) { var courseModel = this.xmlProcessor.GetCourseModelFromXml(xmlFile.FileName); this.repository.CreateCourseFromCourseModel(courseModel); if (!courseModel.IsDone) { var addLessonsViewModel = new AddLessonsViewModel() { CourseModel = courseModel }; return(this.View("AddLessonsToCourse", addLessonsViewModel)); } return(this.RedirectToAction("Index", "Home")); } return(this.View("Error")); }
public ActionResult AddLessonsToCourse(AddLessonsViewModel addLessonsViewModel) { if (!ModelState.IsValid) { return(this.View("AddLessonsToCourse", addLessonsViewModel)); } var lessons = this.repository.GetAllLessons(); foreach (var lesson in lessons) { if (lesson.DateTime == addLessonsViewModel.LessonModel.DateTime) { ModelState.AddModelError(string.Empty, "Date and time has been used"); addLessonsViewModel.CourseModel = this.repository.GetCourseByName(addLessonsViewModel.CourseModel.Name); return(this.View("AddLessonsToCourse", addLessonsViewModel)); } } var lessonModel = new LessonModel() { Name = addLessonsViewModel.LessonModel.Name, DateTime = addLessonsViewModel.LessonModel.DateTime }; this.repository.AddLesson(addLessonsViewModel.CourseModel, lessonModel); if (addLessonsViewModel.CourseModel.IsDone) { return(this.RedirectToAction("Index", "Home")); } addLessonsViewModel.CourseModel = this.repository.GetCourseByName(addLessonsViewModel.CourseModel.Name); return(this.View("AddLessonsToCourse", addLessonsViewModel)); }