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);
        }
Exemple #3
0
        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;
        }