コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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));
        }