コード例 #1
0
        public void UpdateAttributeTest10()
        {
            var attrObj     = Generator.GenerateAttribute(isProperty: true);
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            var myPT      = Generator.GenerateProductType(createdAttr, Generator.RandomString(5, Generator.RandomCharacterGroup.AlphaOnly));
            var createdPT = ProductTypeFactory.AddProductType(ApiMsgHandler, myPT);

            productTypeId1.Add(createdPT.Id.Value);
            createdAttr.Content    = Generator.GenerateAttributeLocalizedContent();
            createdAttr.Validation = Generator.GenerateAttributeValidation(null, null, null, null,
                                                                           Generator.RandomInt(5, 10),
                                                                           Generator.RandomInt(1, 4));
            createdAttr.AttributeMetadata = Generator.GenerateAttributeMetadataItemList();
            createdAttr.AttributeMetadata.Clear();
            createdAttr.AttributeMetadata.Add(Generator.GenerateAttributeMetadataItem());
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN);

            Assert.AreEqual(createdAttr.Content.Description, updateAttr.Content.Description);
            Assert.AreEqual(createdAttr.Content.Name, updateAttr.Content.Name);
            Assert.AreEqual(createdAttr.Validation.MaxStringLength, updateAttr.Validation.MaxStringLength);
            Assert.AreEqual(createdAttr.Validation.MinStringLength, updateAttr.Validation.MinStringLength);
            Assert.AreEqual(createdAttr.AttributeMetadata.Count, updateAttr.AttributeMetadata.Count);
            Assert.AreEqual(createdAttr.AttributeMetadata.Last().Key, updateAttr.AttributeMetadata.First().Key);
            Assert.AreEqual(createdAttr.AttributeMetadata.Last().Value, updateAttr.AttributeMetadata.First().Value);
        }
コード例 #2
0
        public void UpdateAttributeTest11()
        {
            var attrObj = Generator.GenerateAttribute(isProperty: true);
            var vv1     = Generator.GenerateAttributeVocabularyValueRandom();
            var vv2     = Generator.GenerateAttributeVocabularyValueRandom();

            attrObj.VocabularyValues = Generator.GenerateAttributeVocabularyValueList();
            attrObj.VocabularyValues.Clear();
            attrObj.VocabularyValues.Add(vv1);
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            var myPT = Generator.GenerateProductType(createdAttr, Generator.RandomString(5, Generator.RandomCharacterGroup.AlphaOnly));

            myPT.Properties.Last().VocabularyValues.Clear();
            var createdPT = ProductTypeFactory.AddProductType(ApiMsgHandler, myPT);

            productTypeId1.Add(createdPT.Id.Value);
            createdAttr.VocabularyValues.First().Content.StringValue = vv2.Content.StringValue;
            createdAttr.VocabularyValues.First().Value = vv2.Value;
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN);

            Assert.AreEqual(vv2.Content.StringValue, updateAttr.VocabularyValues.First().Content.StringValue);
            Assert.AreEqual(vv2.Value, updateAttr.VocabularyValues.First().Value);

            // if vocabularyvalue is referenced by producttype, you can not update it
            myPT.Properties.First().VocabularyValues = Generator.GenerateAttributeVocabularyValueInProductTypeList();
            myPT.Properties.First().VocabularyValues.Add(Generator.GenerateAttributeVocabularyValueInProductType(vv2.Value));
            createdPT = ProductTypeFactory.AddProductType(ApiMsgHandler, myPT);
            productTypeId1.Add(createdPT.Id.Value);
            createdAttr.VocabularyValues.First().Content.StringValue = vv1.Content.StringValue;
            createdAttr.VocabularyValues.First().Value = vv1.Value;
            AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN, expectedCode: HttpStatusCode.Conflict);
        }
コード例 #3
0
        public void UpdateAttributeTest6()
        {
            var attrObj = Generator.GenerateAttribute(isProperty: true);

            attrObj.Validation = Generator.GenerateAttributeValidation(DateTime.Now.Date.AddDays(10),
                                                                       DateTime.Now.Date,
                                                                       Generator.RandomInt(8, 20),
                                                                       Generator.RandomInt(1, 7),
                                                                       Generator.RandomInt(10, 20),
                                                                       Generator.RandomInt(1, 10),
                                                                       Generator.RandomString(5,
                                                                                              Generator
                                                                                              .RandomCharacterGroup
                                                                                              .AlphaOnly));
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            createdAttr.Validation.RegularExpression = Generator.RandomString(4, Generator.RandomCharacterGroup.AlphaOnly);
            createdAttr.Validation.MaxDateValue      = DateTime.Now.Date.AddDays(15);
            createdAttr.Validation.MinDateValue      = DateTime.Now.Date.AddDays(1);
            createdAttr.Validation.MaxNumericValue   = Generator.RandomInt(30, 40);
            createdAttr.Validation.MinNumericValue   = Generator.RandomInt(10, 20);
            createdAttr.Validation.MinStringLength   = Generator.RandomInt(10, 20);
            createdAttr.Validation.MaxStringLength   = Generator.RandomInt(21, 30);
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN);

            Assert.AreEqual(createdAttr.Validation.RegularExpression, updateAttr.Validation.RegularExpression);
            Assert.AreEqual(createdAttr.Validation.MaxDateValue, updateAttr.Validation.MaxDateValue);
            Assert.AreEqual(createdAttr.Validation.MinDateValue, updateAttr.Validation.MinDateValue);
            Assert.AreEqual(createdAttr.Validation.MaxNumericValue, updateAttr.Validation.MaxNumericValue);
            Assert.AreEqual(createdAttr.Validation.MinNumericValue, updateAttr.Validation.MinNumericValue);
            Assert.AreEqual(createdAttr.Validation.MaxStringLength, updateAttr.Validation.MaxStringLength);
            Assert.AreEqual(createdAttr.Validation.MinStringLength, updateAttr.Validation.MinStringLength);
        }
コード例 #4
0
        public void UpdateAttributeTest3()
        {
            var attrObj     = Generator.GenerateAttribute(isProperty: true);
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            var  rules = AttributeTypeRuleFactory.GetAttributeTypeRules(ApiMsgHandler);
            bool found = false;

            foreach (var rule in rules.Items)
            {
                if (rule.AttributeUsageType.ToLower().Equals("property") &&
                    rule.AttributeDataType.ToLower().Equals(createdAttr.DataType.ToLower()) &&
                    rule.AttributeInputType.ToLower().Equals(createdAttr.InputType.ToLower()) &&
                    rule.AttributeValueType.ToLower().Equals(createdAttr.ValueType.ToLower()))
                {
                    continue;
                }
                found = true;
                createdAttr.DataType  = rule.AttributeDataType;
                createdAttr.InputType = rule.AttributeInputType;
                createdAttr.ValueType = rule.AttributeValueType;
                break;
            }
            if (!found)
            {
                Assert.Inconclusive("could find another rule");
            }
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN, expectedCode: HttpStatusCode.Conflict);
        }
コード例 #5
0
        public void UpdateAttributeTest1()
        {
            var attrObj = Generator.GenerateAttribute(isExtra: true);

            attrObj.AttributeCode = Generator.RandomString(8, Generator.RandomCharacterGroup.AlphaOnly);
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            Assert.AreEqual(attrObj.AttributeCode, createdAttr.AttributeCode);
            createdAttr.AttributeCode = Generator.RandomString(6, Generator.RandomCharacterGroup.AlphaOnly);
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN);

            Assert.AreEqual(attrObj.AttributeCode, updateAttr.AttributeCode);
        }
コード例 #6
0
        public void UpdateAttributeTest8()
        {
            var attrObj     = Generator.GenerateAttribute(isProperty: true);
            var audit       = Generator.GenerateAuditInfoRandom();
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            createdAttr.AuditInfo = audit;
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN);

            Assert.AreNotEqual(audit.CreateBy, updateAttr.AuditInfo.CreateBy);
            Assert.AreNotEqual(((DateTime)audit.CreateDate).Date, ((DateTime)updateAttr.AuditInfo.CreateDate).Date);
            Assert.AreNotEqual(audit.UpdateBy, updateAttr.AuditInfo.UpdateBy);
            Assert.AreNotEqual(((DateTime)audit.UpdateDate).Date, ((DateTime)updateAttr.AuditInfo.UpdateDate).Date);
        }
コード例 #7
0
        public void UpdateAttributeTest9()
        {
            var attrObj     = Generator.GenerateAttribute(isProperty: true);
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            var myPT      = Generator.GenerateProductType(createdAttr, Generator.RandomString(5, Generator.RandomCharacterGroup.AlphaOnly));
            var createdPT = ProductTypeFactory.AddProductType(ApiMsgHandler, myPT);

            productTypeId1.Add(createdPT.Id.Value);
            createdAttr.IsExtra = true;
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN, expectedCode: HttpStatusCode.OK);

            Assert.IsTrue((bool)updateAttr.IsExtra);
            createdAttr.IsProperty = false;
            AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN, expectedCode: HttpStatusCode.BadRequest);
        }
コード例 #8
0
        public void UpdateAttributeTest5()
        {
            var attrObj = Generator.GenerateAttribute(isProperty: true);
            var content = Generator.GenerateAttributeLocalizedContent();

            attrObj.Content = content;
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            var content2 = Generator.GenerateAttributeLocalizedContent();

            createdAttr.Content = content2;
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN);

            Assert.AreEqual(content2.Description, updateAttr.Content.Description);
            Assert.AreEqual(content2.Name, updateAttr.Content.Name);
        }
コード例 #9
0
        public void UpdateAttributeTest2()
        {
            var attrObj     = Generator.GenerateAttribute(isExtra: true);
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            var originalFQN = createdAttr.AttributeFQN;
            var originalSeq = createdAttr.AttributeSequence.Value;

            createdAttr.AttributeFQN      = Generator.RandomString(8, Generator.RandomCharacterGroup.AlphaOnly);
            createdAttr.MasterCatalogId   = TestBaseTenant.MasterCatalogs.Last().Id;
            createdAttr.AttributeSequence = createdAttr.AttributeSequence + 100;
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, originalFQN);

            Assert.AreEqual(originalFQN, updateAttr.AttributeFQN);
            Assert.AreEqual(originalSeq, updateAttr.AttributeSequence);
            Assert.AreEqual(1, updateAttr.MasterCatalogId);
        }
コード例 #10
0
        public void UpdateAttributeTest7()
        {
            var attrObj = Generator.GenerateAttribute(isProperty: true);
            var value1  = Generator.GenerateAttributeVocabularyValueRandom();
            var value2  = Generator.GenerateAttributeVocabularyValueRandom();

            attrObj.VocabularyValues = Generator.GenerateAttributeVocabularyValueList();
            attrObj.VocabularyValues.Clear();
            attrObj.VocabularyValues.Add(value1);
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            createdAttr.VocabularyValues.Add(value2);
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN);

            Assert.IsNotNull(updateAttr.VocabularyValues.First().ValueSequence);
            Assert.IsNotNull(updateAttr.VocabularyValues.Last().ValueSequence);
            Assert.AreEqual(value1.Content.StringValue, updateAttr.VocabularyValues.First().Content.StringValue);
            Assert.AreEqual(value2.Content.StringValue, updateAttr.VocabularyValues.Last().Content.StringValue);
        }
コード例 #11
0
        public void UpdateAttributeTest4()
        {
            var attrObj = Generator.GenerateAttribute(isProperty: true);
            var meta1   = Generator.GenerateAttributeMetadataItem();
            var meta2   = Generator.GenerateAttributeMetadataItem();

            attrObj.AttributeMetadata = Generator.GenerateAttributeMetadataItemList();
            attrObj.AttributeMetadata.Add(meta1);
            attrObj.AttributeMetadata.Add(meta2);
            var createdAttr = AttributeFactory.AddAttribute(ApiMsgHandler, attrObj);

            attributeFQN1.Add(createdAttr.AttributeFQN);
            var meta3 = Generator.GenerateAttributeMetadataItem();

            createdAttr.AttributeMetadata.Clear();
            createdAttr.AttributeMetadata.Add(meta3);
            var updateAttr = AttributeFactory.UpdateAttribute(ApiMsgHandler, createdAttr, createdAttr.AttributeFQN);

            Assert.AreEqual(1, updateAttr.AttributeMetadata.Count);
            Assert.AreEqual(meta3.Key, updateAttr.AttributeMetadata.First().Key);
            Assert.AreEqual(meta3.Value, updateAttr.AttributeMetadata.First().Value);
        }