public void ShouldMapCreateModelToCourse() { var schoolRepository = Substitute.For <ISchoolRepository>(); schoolRepository.GetSchool().Returns( new School { EducationOrganization = new EducationOrganization { EducationOrganizationId = 1 } }); var parentCourse = new ParentCourseBuilder().Build(); var courseCreateModel = new CreateModel { CourseCode = "CSC101", CourseTitle = "Intro to Programming", NumberOfParts = 1, AcademicSubject = AcademicSubjectDescriptorEnum.EnglishLanguageArts, CourseDescription = "Learnin some Java", DateCourseAdopted = new DateTime(2014, 07, 03), HighSchoolCourseRequirement = false, CourseGPAApplicability = CourseGPAApplicabilityTypeEnum.Applicable, CourseDefinedBy = CourseDefinedByTypeEnum.LEA, MinimumAvailableCreditType = CreditTypeEnum.Adulteducationcredit, MinimumAvailableCreditConversion = 3m, MinimumAvailableCredit = 3m, MaximumAvailableCreditType = CreditTypeEnum.CareerandTechnicalEducationcredit, MaximumAvailableCreditConversion = 3m, MaximumAvailableCredit = 3m, CareerPathway = CareerPathwayTypeEnum.AgricultureFoodandNaturalResources, TimeRequiredForCompletion = 10, ParentCourseId = parentCourse.Id }; var genericRepository = Substitute.For <IGenericRepository>(); genericRepository.Get(Arg.Any <Expression <Func <Web.Data.Entities.ParentCourse, bool> > >()) .Returns(parentCourse); var createModelToCourseMapper = new CreateModelToCourseMapper(genericRepository, schoolRepository); var courseEntity = createModelToCourseMapper.Build(courseCreateModel); courseEntity.CourseCode.ShouldBe("CSC101"); courseEntity.CourseTitle.ShouldBe("Intro to Programming"); courseEntity.NumberOfParts.ShouldBe(1); courseEntity.AcademicSubjectDescriptorId.ShouldBe((int)AcademicSubjectDescriptorEnum.EnglishLanguageArts); courseEntity.CourseDescription.ShouldBe("Learnin some Java"); courseEntity.DateCourseAdopted.ShouldBe(new DateTime(2014, 07, 03)); courseEntity.HighSchoolCourseRequirement.ShouldBe(false); courseEntity.CourseGPAApplicabilityTypeId.ShouldBe((int)CourseGPAApplicabilityTypeEnum.Applicable); courseEntity.CourseDefinedByTypeId.ShouldBe((int)CourseDefinedByTypeEnum.LEA); courseEntity.MinimumAvailableCreditTypeId.ShouldBe((int)CreditTypeEnum.Adulteducationcredit); courseEntity.MinimumAvailableCreditConversion.ShouldBe(3m); courseEntity.MinimumAvailableCredit.ShouldBe(3m); courseEntity.MaximumAvailableCreditTypeId.ShouldBe((int)CreditTypeEnum.CareerandTechnicalEducationcredit); courseEntity.MaximumAvailableCreditConversion.ShouldBe(3m); courseEntity.MaximumAvailableCredit.ShouldBe(3m); courseEntity.CareerPathwayTypeId.ShouldBe((int)CareerPathwayTypeEnum.AgricultureFoodandNaturalResources); courseEntity.TimeRequiredForCompletion.ShouldBe(10); courseEntity.ParentCourseId.ShouldBe(parentCourse.Id); courseEntity.ParentCourse.ShouldBe(parentCourse); }
public void ShouldMapCreateModelToCourse() { var schoolRepository = Substitute.For<ISchoolRepository>(); schoolRepository.GetSchool().Returns( new School { EducationOrganization = new EducationOrganization { EducationOrganizationId = 1 } }); var parentCourse = new ParentCourseBuilder().Build(); var courseCreateModel = new CreateModel { CourseCode = "CSC101", CourseTitle = "Intro to Programming", NumberOfParts = 1, AcademicSubject = AcademicSubjectDescriptorEnum.EnglishLanguageArts, CourseDescription = "Learnin some Java", DateCourseAdopted = new DateTime(2014, 07, 03), HighSchoolCourseRequirement = false, CourseGPAApplicability = CourseGPAApplicabilityTypeEnum.Applicable, CourseDefinedBy = CourseDefinedByTypeEnum.LEA, MinimumAvailableCreditType = CreditTypeEnum.Adulteducationcredit, MinimumAvailableCreditConversion = 3m, MinimumAvailableCredit = 3m, MaximumAvailableCreditType = CreditTypeEnum.CareerandTechnicalEducationcredit, MaximumAvailableCreditConversion = 3m, MaximumAvailableCredit = 3m, CareerPathway = CareerPathwayTypeEnum.AgricultureFoodandNaturalResources, TimeRequiredForCompletion = 10, ParentCourseId = parentCourse.Id }; var genericRepository = Substitute.For<IGenericRepository>(); genericRepository.Get(Arg.Any<Expression<Func<Web.Data.Entities.ParentCourse, bool>>>()) .Returns(parentCourse); var createModelToCourseMapper = new CreateModelToCourseMapper(genericRepository, schoolRepository); var courseEntity = createModelToCourseMapper.Build(courseCreateModel); courseEntity.CourseCode.ShouldBe("CSC101"); courseEntity.CourseTitle.ShouldBe("Intro to Programming"); courseEntity.NumberOfParts.ShouldBe(1); courseEntity.AcademicSubjectDescriptorId.ShouldBe((int)AcademicSubjectDescriptorEnum.EnglishLanguageArts); courseEntity.CourseDescription.ShouldBe("Learnin some Java"); courseEntity.DateCourseAdopted.ShouldBe(new DateTime(2014, 07, 03)); courseEntity.HighSchoolCourseRequirement.ShouldBe(false); courseEntity.CourseGPAApplicabilityTypeId.ShouldBe((int)CourseGPAApplicabilityTypeEnum.Applicable); courseEntity.CourseDefinedByTypeId.ShouldBe((int)CourseDefinedByTypeEnum.LEA); courseEntity.MinimumAvailableCreditTypeId.ShouldBe((int)CreditTypeEnum.Adulteducationcredit); courseEntity.MinimumAvailableCreditConversion.ShouldBe(3m); courseEntity.MinimumAvailableCredit.ShouldBe(3m); courseEntity.MaximumAvailableCreditTypeId.ShouldBe((int)CreditTypeEnum.CareerandTechnicalEducationcredit); courseEntity.MaximumAvailableCreditConversion.ShouldBe(3m); courseEntity.MaximumAvailableCredit.ShouldBe(3m); courseEntity.CareerPathwayTypeId.ShouldBe((int)CareerPathwayTypeEnum.AgricultureFoodandNaturalResources); courseEntity.TimeRequiredForCompletion.ShouldBe(10); courseEntity.ParentCourseId.ShouldBe(parentCourse.Id); courseEntity.ParentCourse.ShouldBe(parentCourse); }