public void TestCourseSearchResultWithValidModelStateAndInvalidSearchResult() { var fromQuery = new CourseSearchRequestModel() { SubjectKeyword = "TestSubjectKeyword", LocationRadius = 20 }; var criteria = new CourseSearchCriteria("test"); var courseSearchResult = Result.Ok(new CourseSearchResult(1, 1, 1, new CourseItem[] { })); var expected = new CourseSearchResultViewModel(courseSearchResult) { SubjectKeyword = fromQuery.SubjectKeyword, Location = fromQuery.Location }; MockTelemetryClient.Setup(x => x.TrackEvent(It.IsAny <string>(), null, null)).Verifiable(); MockTelemetryClient.Setup(x => x.Flush()).Verifiable(); MockCourseDirectory.Setup(x => x.CreateCourseSearchCriteria(fromQuery)).Returns(criteria); MockCourseDirectory.Setup(x => x.IsSuccessfulResult( It.IsAny <IResult <CourseSearchResult> >(), It.IsAny <ITelemetryClient>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>() )).Returns(false); // Mock that Is Invalid Search Result //MockCourseDirectoryService.Setup(x => x.CourseDirectorySearch(criteria, It.IsAny<PagingOptions>())) // .Returns(courseSearchResult); var result = Controller.CourseSearchResult(fromQuery) as ViewResult; MockTelemetryClient.Verify(x => x.TrackEvent(It.IsAny <string>(), null, null), (Times.AtLeastOnce())); MockTelemetryClient.Verify(x => x.Flush(), (Times.Never())); AssertDefaultErrorView(result); }
public void TestIsDistanceSpecifiedGivenDistanceEqualToZero() { const bool expected = false; var criteria = new CourseSearchCriteria("test") { Distance = 0 }; var actual = Helper.IsDistanceSpecified(criteria); expected.IsSame(actual); }
public void TestIsDistanceSpecifiedGivenDistanceGreaterThanZero() { const bool expected = true; var criteria = new CourseSearchCriteria("test") { Distance = 1 }; var actual = Helper.IsDistanceSpecified(criteria); expected.IsSame(actual); }
public void TestGetDfe1619FundedGivenTrueValueInCriteria() { const string expected = "Y"; var criteria = new CourseSearchCriteria("test") { IsDfe1619Funded = true }; var actual = Helper.GetDfe1619Funded(criteria); expected.IsSame(actual); }
public void TestGetStudyModesGivenNullStudyModesInCriteria() { var expected = new string[] { }; var criteria = new CourseSearchCriteria("test") { StudyModes = null }; var actual = Helper.GetStudyModes(criteria); expected.IsSame(actual); }
public void TestGetDistanceGivenNoDistance() { const float expected = 0; var criteria = new CourseSearchCriteria("test") { Distance = null, TownOrPostcode = "test" }; var actual = Helper.GetDistance(criteria); expected.IsSame(actual); }
public void TestGetDistanceGivenADistanceAndEmptyTownOrPostcode() { const float expected = 0; var criteria = new CourseSearchCriteria("test") { Distance = 10, TownOrPostcode = string.Empty }; var actual = Helper.GetDistance(criteria); expected.IsSame(actual); }
public void Equals_ShouldNotBeEqual() { // arrange var subjectKeyword = "search term"; // act var a = new CourseSearchCriteria(subjectKeyword); var b = new CourseSearchCriteria($"{subjectKeyword} X"); // assert Assert.False(a.Equals(b)); }
//INdex with Search Course public ActionResult Index(CourseSearchCriteria model) { var courses = _courseManager.GetCourseBySearch(model); if (courses == null) { courses = new List <Course>(); } model.OrganizationListItem = GetOrganizationList(); model.Course = courses; return(View(model)); }
public ICourseSearchCriteria CreateCourseSearchCriteria(ICourseSearchRequestModel requestModel) { var crit = new CourseSearchCriteria( requestModel.SubjectKeyword, CourseDirectoryHelper.QualificationLevels(requestModel), requestModel.Location, requestModel.LocationRadius, requestModel.IsDfe1619Funded, CourseDirectoryHelper.StudyModes(requestModel), CourseDirectoryHelper.AttendanceModes(requestModel), CourseDirectoryHelper.AttendancePatterns(requestModel) ); return(crit); }
public void Constructor_WithSubjectKeywordAsNoneEmptyString_AssignsProperties() { // arrange var subjectKeyword = "search term"; // act var actual = new CourseSearchCriteria(subjectKeyword); // assert Assert.Equal(subjectKeyword, actual.SubjectKeyword); Assert.Equal(default(string), actual.TownOrPostcode); Assert.Equal(default(int?), actual.Distance); // Assert.Equal(new QualificationLevel[] { }, actual.QualificationLevels); // Assert.Equal(new StudyModeExt[] { }, actual.StudyModes); Assert.Equal(new List <string>(), actual.AttendanceModes); Assert.Equal(new List <string>(), actual.AttendancePatterns); Assert.Equal(default(bool?), actual.IsDfe1619Funded); }
public List <Course> GetCourseBySearch(CourseSearchCriteria criteria) { IQueryable <Course> courses = db.Courses.Where(c => c.IsDeleted == false).AsQueryable(); if (!string.IsNullOrEmpty(criteria.Name)) { courses = courses.Where(c => c.Name.ToLower().Contains(criteria.Name.ToLower())); } if (!string.IsNullOrEmpty(criteria.Code)) { courses = courses.Where(c => c.Code.ToLower().Contains(criteria.Code.ToLower())); } if (!string.IsNullOrEmpty(criteria.Outline)) { courses = courses.Where(c => c.Outline.ToLower().Contains(criteria.Outline.ToLower())); } if (!string.IsNullOrEmpty(criteria.Tag)) { courses = courses.Where(c => c.Tag.ToLower().Contains(criteria.Tag.ToLower())); } if (criteria.DurationForm > 0 && criteria.DurationTO > 0) { courses = courses.Where(c => c.Duration >= criteria.DurationForm && c.Duration <= criteria.DurationTO); } if (criteria.CreditForm > 0 && criteria.CreditTo > 0) { courses = courses.Where(c => c.Credit >= criteria.CreditForm && c.Credit <= criteria.CreditTo); } if (criteria.OrganizationId > 0) { courses = courses.Where(c => c.OrganizationId.ToString().ToLower().Contains(criteria.OrganizationId.ToString().ToLower())); } return(courses.ToList()); }
public List <Course> GetCourseBySearch(CourseSearchCriteria criteria) { List <Course> courses = _courseRepository.GetCourseBySearch(criteria); return(courses); }