Example #1
0
        /// <summary>
        /// Verify multi search/single field result by resource of system field
        /// </summary>
        /// <param name="resourceType">Resource Type</param>
        /// <param name="searchParameters">Search Paramters Class</param>
        public static void VerifyMultiSearchOneFieldById(Enums.ResourceType resourceType, SearchParameters searchParameters, Dictionary <string, object> extraUrlParameters = null)
        {
            string firstFieldAlias  = searchParameters.FirstFieldAlias;
            string secondFieldAlias = searchParameters.SecondFieldAlias;
            string firstCondition   = searchParameters.FirstCondition;
            string secondCondition  = searchParameters.SecondCondition;
            string firstCondValue   = searchParameters.FirstCondValue.ToString();
            string secondCondValue  = searchParameters.SecondCondValue.ToString();

            ReadResponseData <XmlResource> result = SystemFieldTypeHelper.GetMultipleSearchResult(resourceType, firstFieldAlias, secondFieldAlias, firstCondition, secondCondition, firstCondValue.ToString(), secondCondValue.ToString(), extraUrlParameters);

            Assert.That(result, MustBe.ReadSuccess(0), string.Format(Enums.Message.READ_RESOURCE_FAILED, resourceType.ToString()));
            Assert.That(result.Count, Is.GreaterThanOrEqualTo(0), Enums.Message.COUNT_ERROR);
            Assert.That(result.Items.Count, Is.GreaterThanOrEqualTo(0), Enums.Message.COUNT_ERROR);

            string realValue = null;

            foreach (var item in result.Items)
            {
                if (firstFieldAlias == $"{resourceType.ToResourceName()}.{DeletedDataFields.P_UpdateBy}" || secondFieldAlias == $"{resourceType.ToResourceName()}.{DeletedDataFields.P_UpdateBy}")
                {
                    XmlResource user = (item.DictionaryValues[$"{resourceType.ToResourceName()}.{DeletedDataFields.P_UpdateBy}"] as XmlResource).DictionaryValues["User"] as XmlResource;
                    realValue = user.DictionaryValues["User.P_Id"].ToString();
                }
                else
                {
                    realValue = item.DictionaryValues[firstFieldAlias].ToString();
                }
                Assert.That(int.Parse(realValue), DateTimeValidator.ConditionsMap[firstCondition](int.Parse(firstCondValue), int.Parse(secondCondValue)).And.Matches(DateTimeValidator.ConditionsMap[secondCondition](int.Parse(secondCondValue), int.Parse(firstCondValue))), DateTimeValidator.ErrorMessage);
            }
        }