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); }
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()); }