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 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); }
protected void Unnamed_Click(object sender, EventArgs e) { var teacherId = this.Teachers.SelectedValue; var classId = this.Classes.SelectedValue; var ev = new AddTeacherToClassEventArgs(teacherId, classId); this.AddTeacherClick?.Invoke(sender, ev); if (this.Model.IsSuccess) { this.Message.ShowSuccess("This teacher now can teaching in this class. To add new class please reload the page."); this.ClearLists(); } else { this.Message.ShowError(this.Model.ErrorMessage); } }
public void View_AddTeacherClick(object sender, AddTeacherToClassEventArgs e) { var teacher = this.teacherService.FindById(e.TeacherId); var selectedClass = this.studentClassService.FindById(e.ClassId); teacher.StudentClasses.Add(selectedClass); try { this.teacherService.Save(); } catch (Exception ex) { this.View.Model.IsSuccess = false; this.View.Model.ErrorMessage = "Something`s wrong."; return; } this.View.Model.IsSuccess = true; }