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));
        }
Пример #9
0
        //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);
        }
Пример #12
0
        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());
        }
Пример #13
0
        public List <Course> GetCourseBySearch(CourseSearchCriteria criteria)
        {
            List <Course> courses = _courseRepository.GetCourseBySearch(criteria);

            return(courses);
        }