public void Can_Generate_Api_Xml_With_ReferenceControls()
        {
            //Arrange
            var expected =
                new XElement("SearchControls",
                             new XElement("ReferenceControls",
                                          new XAttribute("channelId", "3"),
                                          new XAttribute("resolveAttributes", "true"),
                                          new XAttribute("resolveSpecialCharacters", "true"),
                                          new XAttribute("valueOnly", "true")));

            var builder = new SearchControlBuilder();

            builder.ConfigureReferenceHandling(
                ReferenceOptions.UseChannel(3),
                ReferenceOptions.ResolveAttributes(),
                ReferenceOptions.ResolveSpecialCharacters(),
                ReferenceOptions.ReturnValuesOnly()
                );

            var controls = builder.Build();

            //Act
            var actual = controls.ToAdsml();

            //Assert
            Assert.That(actual.ToString(), Is.EqualTo(expected.ToString()));

            Console.WriteLine(actual.ToString());
        }
        public void CanBuildCreateRequest()
        {
            //Arrange
            var builder = new CreateRequestBuilder();

            //Act
            builder
            .NewContextName("/foo/bar")
            .ObjectTypeToCreate("baz")
            .ReturnNoAttributes()
            .FailOnError()
            .UpdateIfExists()
            .AttributesToSet(
                StructureAttribute.New(215, new StructureValue(10, "169010"))
                )
            .ConfigureLookupControls()
            .ReturnAttributes(AttributeToReturn.WithName("Artikelnummer"))
            .ReturnLanguages(LanguageToReturn.WithLanguageId(10))
            .ConfigureReferenceHandling(
                ReferenceOptions.ReturnValuesOnly()
                );

            var request = new BatchRequest(builder.Build());

            //Assert
            Assert.That(builder.Build(), Is.Not.Null);
            Assert.DoesNotThrow(() => request.ToAdsml().ValidateAdsmlDocument("adsml.xsd"));
        }
Exemplo n.º 3
0
        public void Can_Combine_All_Api_Commands()
        {
            //Arrange
            var aqlBuilder = new AqlQueryBuilder();

            //Act
            aqlBuilder.BasePath("/foo/bar")
            .SearchRequestFilters(Filter.ReturnNoAttributes())
            .QueryType(AqlQueryTypes.Below)
            .ObjectTypeToFind(12)
            .QueryString("#215 = \"foo\"")
            .ConfigureSearchControls()
            .AddRequestFilters(
                Filter.ExcludeBin(),
                Filter.ExcludeDocument(),
                Filter.CountLimit(1))
            .ReturnAttributes(AttributeToReturn.WithName("Artikelnummer"))
            .ReturnLanguages(LanguageToReturn.WithLanguageId(10))
            .ConfigureReferenceHandling(
                ReferenceOptions.ResolveAttributes(),
                ReferenceOptions.ResolveSpecialCharacters(),
                ReferenceOptions.UseChannel(3),
                ReferenceOptions.ReturnValuesOnly());

            Console.WriteLine(aqlBuilder.Build().ToAdsml().ToString());
            var request = new BatchRequest(aqlBuilder.Build());

            //Assert
            Assert.DoesNotThrow(() => aqlBuilder.Build());
            Assert.DoesNotThrow(() => request.ToAdsml().ValidateAdsmlDocument("adsml.xsd"));
        }
        public void Can_Configure_ReferenceControls()
        {
            //Arrange
            var expected =
                new XElement("LookupControls",
                             new XAttribute("returnRelationsAsAttributes", "true"),
                             new XElement("AttributesToReturn",
                                          new XElement("Attribute", new XAttribute("name", "Artikelnummer"))),
                             new XElement("LanguagesToReturn",
                                          new XElement("Language", new XAttribute("id", "10"))),
                             new XElement("ReferenceControls", new XAttribute("valueOnly", "true")));

            var builder = new LookupControlBuilder();

            //Act
            builder.AddRequestFilters(Filter.ReturnRelationsAsAttributes())
            .ReturnAttributes(AttributeToReturn.WithName("Artikelnummer"))
            .ReturnLanguages(LanguageToReturn.WithLanguageId(10))
            .ConfigureReferenceHandling(ReferenceOptions.ReturnValuesOnly());

            var request = builder.Build().ToAdsml();

            //Assert
            Assert.That(request.ToString(), Is.EqualTo(expected.ToString()));
        }
Exemplo n.º 5
0
        public void Ctor_Accepts_ReferenceOptions_Param_Array()
        {
            //Act
            var sc = new ReferenceControl(ReferenceOptions.ResolveAttributes());

            //Assert
            Assert.That(sc, Is.Not.Null);
        }
        public void Can_Generate_Api_Xml_With_All_Controls()
        {
            //Arrange

            var expected =
                new XElement("SearchControls",
                             new XAttribute("excludeBin", "true"),
                             new XAttribute("excludeDocument", "true"),
                             new XAttribute("returnAllAttributes", "true"),
                             new XAttribute("allowPaging", "true"),
                             new XAttribute("pageSize", "2"),
                             new XAttribute("countLimit", "5"),
                             new XElement("AttributesToReturn",
                                          new XElement("Attribute", new XAttribute("name", "Artikelnummer")),
                                          new XElement("Attribute", new XAttribute("name", "Sammanslagna dataattribut"))),
                             new XElement("LanguagesToReturn",
                                          new XElement("Language", new XAttribute("id", "10")),
                                          new XElement("Language", new XAttribute("id", "11"))),
                             new XElement("ReferenceControls",
                                          new XAttribute("channelId", "3"),
                                          new XAttribute("resolveAttributes", "true"),
                                          new XAttribute("resolveSpecialCharacters", "true"),
                                          new XAttribute("valueOnly", "true"))).ToString();

            var builder = new SearchControlBuilder();

            builder
            .AddRequestFilters(
                Filter.ExcludeBin(),
                Filter.ExcludeDocument(),
                Filter.ReturnAllAttributes(true),
                Filter.AllowPaging(),
                Filter.PageSize(2),
                Filter.CountLimit(5))
            .ReturnAttributes(
                AttributeToReturn.WithName("Artikelnummer"),
                AttributeToReturn.WithName("Sammanslagna dataattribut")
                )
            .ReturnLanguages(
                LanguageToReturn.WithLanguageId(10),
                LanguageToReturn.WithLanguageId(11)
                )
            .ConfigureReferenceHandling(
                ReferenceOptions.UseChannel(3),
                ReferenceOptions.ResolveAttributes(),
                ReferenceOptions.ResolveSpecialCharacters(),
                ReferenceOptions.ReturnValuesOnly());

            var searchControl = builder.Build();

            //Act
            var actual = searchControl.ToAdsml().ToString();

            Console.WriteLine(actual);

            //Assert
            Assert.That(actual, Is.EqualTo(expected));
        }
Exemplo n.º 7
0
        public void Execute_Throws_WhenProjectPathIsNotDefined()
        {
            ICreatioPkgProjectCreator creator = Substitute.For <ICreatioPkgProjectCreator>();
            ReferenceOptions          options = new ReferenceOptions();
            ReferenceCommand          command = new ReferenceCommand(creator);
            Action testAction = () => {
                command.Execute(options);
            };

            testAction.Should().Throw <Exception>();
        }
Exemplo n.º 8
0
        public void Can_Generate_A_ResolvePriceFields_Filter()
        {
            //Arrange
            var expected = new XAttribute("resolvePriceFields", "true");
            var filter   = ReferenceOptions.ResolvePriceFields();

            //Act
            var actual = filter.ToAdsml();

            //Assert
            Assert.That(actual.ToString(), Is.EqualTo(expected.ToString()));
        }
Exemplo n.º 9
0
        public void Can_Generate_A_ValuesOnly_Filter()
        {
            //Arrange
            var expected = new XAttribute("valueOnly", "true");
            var filter   = ReferenceOptions.ReturnValuesOnly();

            //Act
            var actual = filter.ToAdsml();

            //Assert
            Assert.That(actual.ToString(), Is.EqualTo(expected.ToString()));
        }
Exemplo n.º 10
0
        public void Can_Generate_Api_Xml()
        {
            //Arrange
            var expected = new XElement("ReferenceControls", new XAttribute("valueOnly", "true"));
            var asc      = new ReferenceControl(ReferenceOptions.ReturnValuesOnly());

            //Act
            var actual = asc.ToAdsml();

            //Assert
            Assert.That(actual.ToString(), Is.EqualTo(expected.ToString()));
        }
Exemplo n.º 11
0
        public void Can_Generate_A_UseChannel_Filter()
        {
            //Arrange
            var expected = new XAttribute("channelId", "3");
            var filter   = ReferenceOptions.UseChannel(3);

            //Act
            var actual = filter.ToAdsml();

            //Assert
            Assert.That(actual.ToString(), Is.EqualTo(expected.ToString()));
        }
Exemplo n.º 12
0
        public void Execute_SetsCustomRef_WhenReferenceTypeIsEmpty()
        {
            ICreatioPkgProjectCreator creator = Substitute.For <ICreatioPkgProjectCreator>();
            ICreatioPkgProject        project = Substitute.For <ICreatioPkgProject>();

            creator.CreateFromFile(Arg.Any <string>()).Returns(project);
            ReferenceOptions options = new ReferenceOptions {
                Path       = "Testpath",
                RefPattern = "TestPattern"
            };
            ReferenceCommand command = new ReferenceCommand(creator);

            command.Execute(options);
            project.Received(1).RefToCustomPath(options.RefPattern);
        }
Exemplo n.º 13
0
        public void Execute_SetsCorrectRef_WhenReferenceTypeIsUnitTestsSources()
        {
            ICreatioPkgProjectCreator creator = Substitute.For <ICreatioPkgProjectCreator>();
            ICreatioPkgProject        project = Substitute.For <ICreatioPkgProject>();

            creator.CreateFromFile(Arg.Any <string>()).Returns(project);
            ReferenceOptions options = new ReferenceOptions {
                Path          = "Testpath",
                ReferenceType = "unit-src"
            };
            ReferenceCommand command = new ReferenceCommand(creator);

            command.Execute(options);
            project.Received(1).RefToUnitCoreSrc();
        }
        public void Can_Generate_Api_Xml_With_SearchControl_ReferenceControls()
        {
            //Arrange
            var expected =
                new XElement("SearchRequest",
                             new XAttribute("base", "/foo/bar"),
                             new XAttribute("returnNoAttributes", "true"),
                             new XElement("Filter",
                                          new XElement("FilterString", "FIND BELOW #10 WHERE (#10 = \"foo\")")),
                             new XElement("SearchControls",
                                          new XElement("ReferenceControls",
                                                       new XAttribute("channelId", "3"),
                                                       new XAttribute("resolveAttributes", "true"),
                                                       new XAttribute("resolveSpecialCharacters", "true"),
                                                       new XAttribute("valueOnly", "true"))));

            var builder = new SearchControlBuilder();

            builder.ConfigureReferenceHandling(
                ReferenceOptions.UseChannel(3),
                ReferenceOptions.ResolveAttributes(),
                ReferenceOptions.ResolveSpecialCharacters(),
                ReferenceOptions.ReturnValuesOnly()
                );

            var searchControls = builder.Build();

            var aql =
                new AqlSearchRequest(
                    "/foo/bar",
                    new ISearchRequestFilter[] { Filter.ReturnNoAttributes() },
                    AqlQueryTypes.Below,
                    new IdNameReference(10),
                    "#10 = \"foo\"",
                    searchControls
                    );

            //Act
            var actual  = aql.ToAdsml();
            var request = new BatchRequest(aql).ToAdsml();

            Console.WriteLine(actual.ToString());

            //Assert
            Assert.That(actual, Is.Not.Null);
            Assert.That(actual.ToString(), Is.EqualTo(expected.ToString()));
            Assert.DoesNotThrow(() => request.ValidateAdsmlDocument("adsml.xsd"));
        }
Exemplo n.º 15
0
        public void Can_Generate_Api_Xml_With_Outer_Node_XAttributes()
        {
            //Arrange
            var expected = new XElement("ReferenceControls", new XAttribute("foo", "bar"), new XAttribute("valueOnly", "true"));
            var asc      = new ReferenceControl(ReferenceOptions.ReturnValuesOnly())
            {
                OuterNodeAttributes = new List <XAttribute> {
                    new XAttribute("foo", "bar")
                }
            };

            //Act
            var actual = asc.ToAdsml();

            //Assert
            Assert.That(actual.ToString(), Is.EqualTo(expected.ToString()));
        }
Exemplo n.º 16
0
    public static void OptionDropdown(SerializedProperty property, Rect enumRect, ref ReferenceOptions currentOption)
    {
        EditorGUI.BeginChangeCheck();
        currentOption = (ReferenceOptions)EditorGUI.EnumPopup(enumRect, currentOption, VariableSystemEditorUtility.DropdownButtonStyle);
        if (EditorGUI.EndChangeCheck())
        {
            switch (currentOption)
            {
            case ReferenceOptions.CONSTANT:
                property.FindPropertyRelative("useConstant").boolValue = true;
                break;

            case ReferenceOptions.REFERENCE:
                property.FindPropertyRelative("useConstant").boolValue = false;
                break;

            default:
                property.FindPropertyRelative("useConstant").boolValue = false;
                break;
            }
        }
    }
Exemplo n.º 17
0
        public static List <string> GetReferenceOptions()
        {
            var options = new ReferenceOptions();

            return(options.GetFieldValues());
        }