Beispiel #1
0
        public async Task CreateStudentRecord_Should()
        {
            var name                     = Name.Create("Steve", "Miazga");
            var email                    = Email.Create("*****@*****.**");
            var student                  = new Student(name, email);
            var course                   = new Course(5, "Microsoft SQL Server Database Development");
            var exam                     = new Exam(6, "70-433", "Microsoft SQL Server 2008, Database Development");
            var certification            = new Certification(5, "MCTS", "Microsoft Certified Technical Specialist in SQL Server 2008, Database Development");
            var certificationRequirement = new CertificationRequirement(certification, exam, course);

            _mockCertificationRepository.Setup(x => x.GetCourseById(5)).Returns(course);
            _mockCertificationRepository.Setup(x => x.GetExamById(6)).Returns(exam);
            _mockCertificationRepository.Setup(x => x.GetCertificationById(5)).Returns(certification);
            _mockCertificationRepository.Setup(x => x.GetCertificationRequirementsAll()).Returns(new List <CertificationRequirement>()
            {
                certificationRequirement
            });

            var command = new CreateStudentRecordCommand("Steve", "Miazga", "*****@*****.**", new List <int>()
            {
                5
            }, new List <int>()
            {
                6
            });
            var handler = new CreateStudentRecordCommandHandler(_mockStudentRepository.Object, _mockCertificationRepository.Object);
            var result  = await handler.Handle(command, CancellationToken.None);

            _mockStudentRepository.Verify(x => x.Save(It.IsAny <Student>()), Times.Once);
            _mockStudentRepository.Verify(x => x.SaveEntitiesAsync(), Times.Once);
        }
Beispiel #2
0
        public async Task EditStudentRecord_Should()
        {
            var name                     = Name.Create("Steve", "Miazga");
            var email                    = Email.Create("*****@*****.**");
            var student                  = new Student(name, email);
            var exam                     = new Exam(5, "70-448", "Microsoft SQL Server 2008, Business Intelligence Development and Maintenance");
            var certification            = new Certification(4, "MCTS", "Microsoft Certified Technical Specialist in SQL Server 2008, Business Intelligence Development and Maintenance");
            var certificationRequirement = new CertificationRequirement(certification, exam, null);

            _mockStudentRepository.Setup(x => x.GetStudentById(1)).Returns(student);
            _mockCertificationRepository.Setup(x => x.GetExamById(5)).Returns(exam);
            _mockCertificationRepository.Setup(x => x.GetCertificationById(4)).Returns(certification);
            _mockCertificationRepository.Setup(x => x.GetCertificationRequirementsAll()).Returns(new List <CertificationRequirement>()
            {
                certificationRequirement
            });

            var command = new EditStudentRecordCommand(1, "Steve", "Miazga", "*****@*****.**", null, new List <int>()
            {
                5
            });
            var handler = new EditStudentRecordCommandHandler(_mockStudentRepository.Object, _mockCertificationRepository.Object);
            var result  = await handler.Handle(command, CancellationToken.None);

            _mockStudentRepository.Verify(x => x.Save(It.IsAny <Student>()), Times.Once);
            _mockStudentRepository.Verify(x => x.SaveEntitiesAsync(), Times.Once);
        }
        public void QualifiedCertification()
        {
            var course                   = new Course(5, "Microsoft SQL Server Database Development");
            var exam                     = new Exam(6, "70-433", "Microsoft SQL Server 2008, Database Development");
            var certification            = new Certification(5, "MCTS", "Microsoft Certified Technical Specialist in SQL Server 2008, Database Development");
            var certificationRequirement = new CertificationRequirement(certification, exam, course);

            _student.PassExam(exam);

            List <int> qualifyCertifications = _student.GetStudentCertificationIds(new List <CertificationRequirement>()
            {
                certificationRequirement
            });

            Assert.Equal(5, qualifyCertifications.Single());
        }