public void SetErrorMessageToViewModel_IfSaveToDbThrows() { // Arrange var expectedMessage = "Something`s wrong."; var teacher = new User(); var mockedView = new Mock <IAddTeacherToClassView>(); mockedView.Setup(v => v.Model).Returns(new AddTeacherToClassViewModel()); var mockedTeacherService = new Mock <ITeacherService>(); mockedTeacherService.Setup(s => s.FindById(It.IsAny <string>())).Returns(teacher); mockedTeacherService.Setup(s => s.Save()).Throws <Exception>(); var mockedStudentClassService = new Mock <IStudentClassService>(); mockedStudentClassService.Setup(s => s.FindById(It.IsAny <string>())).Verifiable(); var presenter = new AddTeacherToClassPresenter(mockedView.Object, mockedTeacherService.Object, mockedStudentClassService.Object); var ev = new AddTeacherToClassEventArgs(null, null); // Act & Assert Assert.DoesNotThrow(() => mockedView.Raise(v => v.AddTeacherClick += null, ev)); Assert.IsFalse(mockedView.Object.Model.IsSuccess); Assert.AreEqual(expectedMessage, mockedView.Object.Model.ErrorMessage); mockedStudentClassService.Verify(s => s.FindById(It.IsAny <string>()), Times.Once); }
public void SetIsSuccessToTrue_IfAllIsDone() { // Arrange var teacher = new User(); var mockedView = new Mock <IAddTeacherToClassView>(); mockedView.Setup(v => v.Model).Returns(new AddTeacherToClassViewModel()); var mockedTeacherService = new Mock <ITeacherService>(); mockedTeacherService.Setup(s => s.FindById(It.IsAny <string>())).Returns(teacher); mockedTeacherService.Setup(s => s.Save()).Verifiable(); var mockedStudentClassService = new Mock <IStudentClassService>(); mockedStudentClassService.Setup(s => s.FindById(It.IsAny <string>())).Verifiable(); var presenter = new AddTeacherToClassPresenter(mockedView.Object, mockedTeacherService.Object, mockedStudentClassService.Object); var ev = new AddTeacherToClassEventArgs(null, null); // Act mockedView.Raise(v => v.AddTeacherClick += null, ev); // Assert Assert.IsTrue(mockedView.Object.Model.IsSuccess); mockedTeacherService.Verify(s => s.Save(), Times.Once); mockedStudentClassService.Verify(s => s.FindById(It.IsAny <string>()), Times.Once); }
public void CallTeacherService_GetAllMethod_AndSetViewModelStudentsProp() { // Arrange var teachers = new List <User>() { new User() { Id = "id", FirstName = "firstName", LastName = "lastName", Subject = Subject.Biology } }; var mockedView = new Mock <IAddTeacherToClassView>(); mockedView.Setup(v => v.Model).Returns(new AddTeacherToClassViewModel()); var mockedTeacherService = new Mock <ITeacherService>(); mockedTeacherService.Setup(s => s.GetAll()).Returns(teachers); var mockedStudentClassService = new Mock <IStudentClassService>(); var presenter = new AddTeacherToClassPresenter(mockedView.Object, mockedTeacherService.Object, mockedStudentClassService.Object); // Act mockedView.Raise(v => v.PageLoad += null, EventArgs.Empty); var teacher = mockedView.Object.Model.Teachers.First(); Assert.IsTrue(mockedView.Object.Model.Teachers.Count() == 1); Assert.AreEqual("id", teacher.Id); Assert.AreEqual("firstName", teacher.FirstName); Assert.AreEqual("lastName", teacher.LastName); Assert.AreEqual(Subject.Biology.ToString(), teacher.SubjectName); }
public void GetAllClassesFromDB_AndRemoveTeacherClassesFromThem_BeforeSetToViewModel() { // Arrange var classes = new List <StudentClass>() { new StudentClass("1A"), new StudentClass("1B"), new StudentClass("1C") }; var teacherClassId = classes[1].Id; var teacherClasses = new List <StudentClassDTO>() { new StudentClassDTO { Id = teacherClassId, Name = "1B" } }; var mockedView = new Mock <IAddTeacherToClassView>(); mockedView.Setup(v => v.Model).Returns(new AddTeacherToClassViewModel()); var mockedTeacherService = new Mock <ITeacherService>(); mockedTeacherService.Setup(s => s.GetTeacherClasses(It.IsAny <string>())).Returns(teacherClasses); var mockedStudentClassService = new Mock <IStudentClassService>(); mockedStudentClassService.Setup(s => s.GetAll()).Returns(classes); var presenter = new AddTeacherToClassPresenter(mockedView.Object, mockedTeacherService.Object, mockedStudentClassService.Object); // Act var ev = new IdEventArgs(null); mockedView.Raise(v => v.TeacherSelected += null, ev); // Assert Assert.IsTrue(mockedView.Object.Model.AvailableClasses.Count() == 2); Assert.IsFalse(mockedView.Object.Model.AvailableClasses.Any(c => c.Id == teacherClassId)); }