public void ConstructorSetsPropertiesFromArguments()
        {
            const string expectedValue = "r2d2";

            var criteria = new QueryStringCriteria(expectedValue);

            Assert.Equal(expectedValue, criteria.Value);
        }
        public void ConstructorWithOneParameterSetsPropertiesFromArguments()
        {
            const string expectedValue = "r2d2";

            var criteria = new QueryStringCriteria(expectedValue);

            Assert.Equal(expectedValue, criteria.Value);
            Assert.Equal(Enumerable.Empty <string>(), criteria.Fields);
        }
        public void ConstructorWithAllParametersSetsPropertiesFromArguments()
        {
            const string expectedValue  = "c3po";
            var          expectedFields = new[] { "jawas", "homestead" };

            var criteria = new QueryStringCriteria(expectedValue, expectedFields);

            Assert.Equal(expectedValue, criteria.Value);
            Assert.Equal(expectedFields, criteria.Fields);
        }
        private void Build(QueryStringCriteria criteria)
        {
            SearchRequest.SearchParameters.QueryType = QueryType.Full;
            SearchRequest.SearchText = criteria.Value;

            if (criteria.Fields?.Any() == true)
            {
                SearchRequest.AddRangeToSearchFields(criteria.Fields.ToArray());
            }
        }
Example #5
0
        static JObject Build(QueryStringCriteria criteria)
        {
            var unformattedValue = criteria.Value; // We do not reformat query_string

            var queryStringCriteria = new JObject(new JProperty("query", unformattedValue));

            if (criteria.Fields.Any())
            {
                queryStringCriteria.Add(new JProperty("fields", new JArray(criteria.Fields)));
            }

            return(new JObject(new JProperty(criteria.Name, queryStringCriteria)));
        }
Example #6
0
        public void BodyContainsQueryString()
        {
            const string expectedQuery = "this is my query string";
            var          queryString   = new QueryStringCriteria(expectedQuery);

            var formatter = new SearchRequestFormatter(defaultConnection, mapping, new SearchRequest {
                DocumentType = "type1", Query = queryString
            });
            var body = JObject.Parse(formatter.Body);

            var result = body.TraverseWithAssert("query", "query_string", "query");

            Assert.Equal(expectedQuery, result.ToString());
        }
Example #7
0
        public void BodyContainsQueryStringWithFields()
        {
            const string expectedQuery  = "this is my query string";
            var          expectedFields = new[] { "green", "brown", "yellow" };
            var          queryString    = new QueryStringCriteria(expectedQuery, expectedFields);

            var formatter = new SearchRequestFormatter(defaultConnection, mapping, new SearchRequest {
                DocumentType = "type1", Query = queryString
            });
            var body = JObject.Parse(formatter.Body);

            var result = body.TraverseWithAssert("query", "query_string");

            Assert.Equal(expectedQuery, result.TraverseWithAssert("query").ToString());
            Assert.Equal(expectedFields, result.TraverseWithAssert("fields").Select(f => f.ToString()).ToArray());
        }
Example #8
0
        public void QueryStringCriteria_GetMatchingRecordsFromPhoneManagerTest_WithMatchingQS_ReturnsCorrectResults()
        {
            // Arrange
            // generate test data
            var dataModel = new PhoneManagerModel()
            {
                DefaultCampaignQueryStringKey = "fsource", DefaultPersistDurationInDays = 32
            };

            dataModel.PhoneManagerCampaignDetail = new List <PhoneManagerCampaignDetail>()
            {
                new PhoneManagerCampaignDetail()
                {
                    Id = "1201", TelephoneNumber = "0800 123 4567", CampaignCode = "testcode"
                }
            };
            var testPhoneManagerData = dataModel.ToXmlString();

            IRepository _repository = MockProviders.Repository(testPhoneManagerData);

            var criteriaParameters = new CriteriaParameterHolder()
            {
                CleansedQueryStrings = new NameValueCollection()
                {
                    { "dummykey", "nothing" }, { "fsource", "testcode" }
                },
                RequestInfo_NotIncludingQueryStrings = new PhoneManagerCampaignDetail()
                {
                    EntryPage = dataModel.PhoneManagerCampaignDetail.First().EntryPage
                }
            };

            var criteria = new QueryStringCriteria();

            // Act
            var results = criteria.GetMatchingRecordsFromPhoneManager(criteriaParameters, _repository);

            // Assert
            Assert.IsNotNull(results);
            Assert.AreEqual(results.Count(), 1);
            Assert.AreEqual(results.First().CampaignCode, dataModel.PhoneManagerCampaignDetail.First().CampaignCode);
        }
Example #9
0
        private static JObject Build(QueryStringCriteria criteria)
        {
            var unformattedValue = criteria.Value; // We do not reformat query_string

            return(new JObject(new JProperty(criteria.Name, new JObject(new JProperty("query", unformattedValue)))));
        }