Esempio n. 1
0
        public void TestSearchFieldPhase(string fieldName, string condition)
        {
            Enums.ResourceType resourceType = Enums.ResourceType.Client;
            string             id           = records.Data[$"{resourceType.ToPrivateEnum()}{fields.First()}data2{1}"].Id.ToString();

            var phaseList = new Dictionary <int, string> {
                { 0, testData["data1"] }, { 1, testData["data2"] }, { 2, testData["data3"] },
                { 3, testData["data4"] }, { 4, testData["data5"] }, { 5, testData["data6"] }
            }.Select(item =>
            {
                var phase = FieldHelper.CreatePhaseInstance(resourceType, id);
                phase.DictionaryValues[fieldName] = item.Value;
                return(phase);
            }).ToList();

            List <string> ids = PublicApiAdapter.CreateAdapterForDefaultConnection().WriteSuccess(phaseList);

            Assume.That(ids, Is.Not.Null.And.Not.Empty, string.Format(Enums.Message.CREATE_RESOURCE_ENTRY_FAILED, resourceType));

            Dictionary <string, string> parameters = new Dictionary <string, string>()
            {
                { DateTimeValidator.FieldAlias1, fieldName },
                { DateTimeValidator.Condition1, condition },
                { DateTimeValidator.ConditionValue1, testData.Random() },
                { DateTimeValidator.ConditionValue2, testData.Random() },
            };

            //Read & verify the field's value
            DateTimeValidator.VerifySingleSearchSystemFieldPhase(resourceType, parameters);
        }
Esempio n. 2
0
        public void TestValidSingleSearchNumberField(string fieldName, string condition)
        {
            string conditionValue1 = PhaseHelper.GeneratePhaseNumberType(defaultResource, fieldName, indexFirstPhaseList);
            string conditionValue2 = PhaseHelper.GeneratePhaseNumberType(defaultResource, fieldName, indexSecondPhaseList);
            string tempCond        = $"{fieldName}:{condition}={conditionValue1}";
            string formatCond      = condition == DateTimeValidator.Or ? $"{tempCond}:{conditionValue2}" : tempCond;

            Dictionary <string, object> parameters = new Dictionary <string, object>()
            {
                { PhaseApiFields.Partition, AuthenticationInfoProvider.Current.DefaultPartition },
                { PhaseApiFields.Resource, (int)defaultResource },
                { PhaseApiFields.Condition, formatCond },
                { PhaseApiFields.Field, fieldName },
            };
            ReadResponseData <Phase> result = PublicApiAdapter.CreateAdapterForDefaultConnection().ReadSuccess <Phase>(parameters);

            Assert.That(result.Code, Is.EqualTo(Enums.PublicAPIResultCode.Success), string.Format(Enums.Message.READ_RESOURCE_FAILED, nameof(Phase)));

            //Read & verify the field's value
            if (fieldName == PhaseApiFields.RegistrationDate || fieldName == PhaseApiFields.UpdateDate || fieldName == PhaseApiFields.Date)
            {
                Dictionary <string, string> conditionParameters = new Dictionary <string, string>()
                {
                    { DateTimeValidator.FieldAlias1, fieldName },
                    { DateTimeValidator.Condition1, condition },
                    { DateTimeValidator.ConditionValue1, conditionValue1 },
                    { DateTimeValidator.ConditionValue2, conditionValue2 },
                };
                DateTimeValidator.VerifySingleSearchSystemFieldPhase(defaultResource, conditionParameters);
            }
            else
            {
                foreach (var item in result.Items)
                {
                    DateTimeValidator.ConditionalAssertions[condition](int.Parse(item.DictionaryValues[fieldName].ToString()), int.Parse(conditionValue1), int.Parse(conditionValue2));
                }
            }
        }