Exemplo n.º 1
0
        protected override void ExpectResponse(ISuggestResponse response)
        {
            /** === Handling Responses
             * Get the suggestions for a suggester by indexing into
             * the `.Suggestions` dictionary on the response
             */
            var myCompletionSuggest = response.Suggestions["my-completion-suggest"];

            myCompletionSuggest.Should().NotBeNull();

            var suggest = myCompletionSuggest.First();

            suggest.Text.Should().Be(Project.Instance.Name);
            suggest.Length.Should().BeGreaterThan(0);

            var option = suggest.Options.First();

            option.Text.Should().NotBeNullOrEmpty();
            option.Score.Should().BeGreaterThan(0);
            option.Payload.Should().NotBeNull();
            option.Payload.Value <int>(Field <Project>(p => p.NumberOfCommits)).Should().BeGreaterThan(0);
            option.Contexts.Should().NotBeNull().And.NotBeEmpty();
            option.Contexts.Should().ContainKey("color");
            var colorContexts = option.Contexts["color"];

            colorContexts.Should().NotBeNull().And.HaveCount(1);
            colorContexts.First().Category.Should().Be((Project.Projects.First().Suggest.Contexts.Values.SelectMany(v => v).First()));
        }
Exemplo n.º 2
0
        private static void AssertCompletionSuggestResponse(ISuggestResponse <Project> response)
        {
            var myCompletionSuggest = response.Suggestions["my-completion-suggest"];

            myCompletionSuggest.Should().NotBeNull();

            var suggest = myCompletionSuggest.First();

            suggest.Text.Should().Be(Project.Instance.Name);
            suggest.Length.Should().BeGreaterThan(0);

            var option = suggest.Options.First();

            option.Text.Should().NotBeNullOrEmpty();
            option.Index.Should().Be("project");
            option.Type.Should().Be("project");
            option.Id.Should().NotBeNull();
            option.Source.Should().NotBeNull();
            option.Source.Name.Should().NotBeNullOrWhiteSpace();
            option.Score.Should().BeGreaterThan(0);
            option.Contexts.Should().NotBeNull().And.NotBeEmpty();
            option.Contexts.Should().ContainKey("color");
            var colorContexts = option.Contexts["color"];

            colorContexts.Should().NotBeNull().And.HaveCount(1);
            colorContexts.First().Category.Should().Be((Project.Projects.First().Suggest.Contexts.Values.SelectMany(v => v).First()));
        }
Exemplo n.º 3
0
 protected override void ExpectResponse(ISuggestResponse <Project> response)
 {
     /** === Handling Responses
      * Get the suggestions for a suggester by indexing into
      * the `.Suggestions` dictionary on the response
      */
     AssertCompletionSuggestResponse(response);
     AssertTermSuggestResponse(response);
     AssertPhraseSuggestResponse(response);
 }
Exemplo n.º 4
0
        private static void AssertTermSuggestResponse(ISuggestResponse <Project> response)
        {
            var myTermSuggest = response.Suggestions["my-term-suggest"];

            myTermSuggest.Should().NotBeNull();

            var suggest = myTermSuggest.First();

            suggest.Text.Should().Be(SuggestText);
            suggest.Length.Should().BeGreaterThan(0);
            suggest.Options.Should().NotBeNull().And.NotBeEmpty();

            foreach (var opt in suggest.Options)
            {
                opt.Text.Should().NotBeNullOrWhiteSpace();
                opt.Score.Should().BeGreaterThan(0);
                opt.Frequency.Should().BeGreaterThan(0);
            }
        }
Exemplo n.º 5
0
        protected override void ExpectResponse(ISuggestResponse response)
        {
            var myCompletionSuggest = response.Suggestions["my-completion-suggest"];

            myCompletionSuggest.Should().NotBeNull();
            var suggest = myCompletionSuggest.First();

            suggest.Text.Should().Be(Project.Instance.Name);
            suggest.Length.Should().BeGreaterThan(0);
            var option = suggest.Options.First();

            option.Text.Should().NotBeNullOrEmpty();
            option.Score.Should().BeGreaterThan(0);
            var payload = option.Payload <ProjectPayload>();

            payload.Should().NotBeNull();
            payload.Name.Should().Be(Project.Instance.Name);
            payload.State.Should().NotBeNull();
        }
Exemplo n.º 6
0
        /// <summary>
        /// AutoComplete function (phrase, term or completion in elasticsarch)
        /// </summary>
        /// <param name="SearchTerm"></param>
        /// <returns></returns>
        public ActionResult AutoSuggest(string SearchTerm)
        {
            // use phrase strategy
            //
            ISuggestResponse result = BusinessLogic.SearchManager.AutoSuggest(SearchTerm);

            List <object> lst = new List <object>(); // { new {  name = "test"} , new { name = "fest" } , new { name = "nest" } };

            var sugg = result.Suggestions["completion"].First().Options;

            if (sugg.Count() > 0)
            {
                foreach (SuggestOption opt in sugg)
                {
                    lst.Add(new { name = opt.Text });
                }
            }

            return(Json(new { search_results = lst }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 7
0
        private static void AssertPhraseSuggestResponse(ISuggestResponse <Project> response)
        {
            var myTermSuggest = response.Suggestions["my-phrase-suggest"];

            myTermSuggest.Should().NotBeNull();

            var suggest = myTermSuggest.First();

            suggest.Text.Should().Be(PhraseSuggest);
            suggest.Length.Should().BeGreaterThan(0);
            suggest.Options.Should().NotBeNull().And.NotBeEmpty();

            foreach (var opt in suggest.Options)
            {
                opt.Text.Should().NotBeNullOrWhiteSpace();
                opt.Score.Should().BeGreaterThan(0);
                opt.Highlighted.Should().NotBeNullOrEmpty().And.Contain("</em>");
                opt.CollateMatch.Should().BeTrue();
            }
        }
Exemplo n.º 8
0
        protected override void ExpectResponse(ISuggestResponse response)
        {
            /** === Handling Responses
             * Get the suggestions for a suggester by indexing into
             * the `.Suggestions` dictionary on the response
             */
            var myCompletionSuggest = response.Suggestions["my-completion-suggest"];

            myCompletionSuggest.Should().NotBeNull();

            var suggest = myCompletionSuggest.First();

            suggest.Text.Should().Be(Project.Instance.Name);
            suggest.Length.Should().BeGreaterThan(0);

            var option = suggest.Options.First();

            option.Text.Should().NotBeNullOrEmpty();
            option.Score.Should().BeGreaterThan(0);
            option.Payload.Should().NotBeNull();
            option.Payload.Value <int>(Field <Project>(p => p.NumberOfCommits)).Should().BeGreaterThan(0);
        }