public void LessonController_GetLesson() { //Arrange var expectedCategoryDatas = Task <List <CategoryData> > .Factory.StartNew(() => { return(new List <CategoryData> { new CategoryData { Category = "Language", Desciption = "desciption", Topics = "Topics" } }); }); //Act lessonRepository.Setup(x => x.GetCategoryData()).Returns(expectedCategoryDatas); LessonController lessonController = new LessonController(new Lazy <ILessonRepository>(() => lessonRepository.Object), new Lazy <INotificationManager>(), new Lazy <IAdminRepository>(), new Lazy <IUtility>()); var actionResult = lessonController.CreateLesson();// as Task<ActionResult>; var result = actionResult as Task <ActionResult>; //Assert Assert.IsNotNull(result); Assert.AreEqual("_CreateLesson", (result.Result as ViewResult).ViewName); }
public void LessonController_CreateLesson() { //Arrange LessonModel expectedLessonModel = new LessonModel(); expectedLessonModel.Status = LessonStatus.Draft.ToString(); expectedLessonModel.CreatedDate = DateTime.Now; expectedLessonModel.CreatedBy = new Guid(); expectedLessonModel.Source = LessonSource.Elearning; expectedLessonModel.Lesson = new Dictionary <string, string>(); expectedLessonModel.Lesson.Add(new KeyValuePair <string, string>(LessonSource.Elearning.ToString(), "http://www.youtube.com")); Dictionary <string, string> actualLesson = new Dictionary <string, string>(); actualLesson.Add(LessonSource.Elearning.ToString(), "http://www.youtube.com"); var actualModel = Task <LessonModel> .Factory.StartNew(() => { return(new LessonModel { Source = LessonSource.Elearning, Lesson = actualLesson }); }); //Act lessonRepository.Setup(x => x.UpsertLesson(It.IsAny <LessonModel>(), true)).Returns(actualModel); LessonController lessonController = new LessonController(new Lazy <ILessonRepository>(() => lessonRepository.Object), new Lazy <INotificationManager>(), new Lazy <IAdminRepository>(), new Lazy <IUtility>()); Task <ActionResult> result = lessonController.CreateLesson() as Task <ActionResult>; //Assert Assert.IsNotNull(result); Assert.IsNull(result.Exception); Assert.AreEqual(result.Status.ToString(), "RanToCompletion"); Assert.AreEqual(expectedLessonModel.Lesson.Keys.ToString(), actualModel.Result.Lesson.Keys.ToString()); }