public void ProvisionTaxonomyFieldRequest_Test_GetCorrectRequest_WithoutParentId()
        {
            ProvisionTaxonomyFieldRequest request = new ProvisionTaxonomyFieldRequest("site-id", "web-id", "field-id", "", Guid.Parse("1e1a939f-60b2-2000-98a6-d25d3d400a3a"), Guid.Parse("740c6a0b-85e2-48a0-a494-e0f1759d4aa7"));

            var requests       = request.GetRequest(new IteratorIdProvider());
            var actionRequests = requests.Select(r => r.Action).ToList();
            var identities     = requests.Select(r => r.ObjectPath).Where(id => id != null).ToList();

            SetPropertyAction setTermStoreId    = actionRequests[0] as SetPropertyAction;
            SetPropertyAction setTermSetId      = actionRequests[1] as SetPropertyAction;
            SetPropertyAction setTargetTemplate = actionRequests[2] as SetPropertyAction;
            SetPropertyAction setAnchorId       = actionRequests[3] as SetPropertyAction;
            MethodAction      updateAction      = actionRequests[4] as MethodAction;

            Identity id = identities[0];

            Assert.AreEqual("SspId", setTermStoreId.Name);
            Assert.AreEqual(2, setTermStoreId.Id);
            Assert.AreEqual("1", setTermStoreId.ObjectPathId);
            Assert.AreEqual("1e1a939f-60b2-2000-98a6-d25d3d400a3a", setTermStoreId.SetParameter.Value.ToString());

            Assert.AreEqual("TermSetId", setTermSetId.Name);
            Assert.AreEqual(3, setTermSetId.Id);
            Assert.AreEqual("1", setTermSetId.ObjectPathId);
            Assert.AreEqual("740c6a0b-85e2-48a0-a494-e0f1759d4aa7", setTermSetId.SetParameter.Value.ToString());

            Assert.AreEqual("TargetTemplate", setTargetTemplate.Name);
            Assert.AreEqual(4, setTargetTemplate.Id);
            Assert.AreEqual("1", setTargetTemplate.ObjectPathId);
            Assert.AreEqual("", setTargetTemplate.SetParameter.Value.ToString());

            Assert.AreEqual("AnchorId", setAnchorId.Name);
            Assert.AreEqual(5, setAnchorId.Id);
            Assert.AreEqual("1", setAnchorId.ObjectPathId);
            Assert.AreEqual("00000000-0000-0000-0000-000000000000", setAnchorId.SetParameter.Value.ToString());

            Assert.AreEqual("Update", updateAction.Name);
            Assert.AreEqual(6, updateAction.Id);
            Assert.AreEqual("1", updateAction.ObjectPathId);

            Assert.AreEqual("1e1a939f-60b2-2000-98a6-d25d3d400a3a|740c6a0b-85e2-48a0-a494-e0f1759d4aa7:site:site-id:web:web-id:field:field-id", id.Name);
            Assert.AreEqual(1, id.Id);
        }
Exemple #2
0
        private async Task WireUpTaxonomyFieldAsync(Field field, TaxonomyFieldCreationOptions options)
        {
            string parentId = (Parent is IList) ? (Parent as IList).Id.ToString() : "";
            ProvisionTaxonomyFieldRequest request = new ProvisionTaxonomyFieldRequest(PnPContext.Site.Id.ToString(),
                                                                                      PnPContext.Web.Id.ToString(),
                                                                                      field.Id.ToString(),
                                                                                      parentId,
                                                                                      options.TermStoreId,
                                                                                      options.TermSetId);

            ApiCall updateCall = new ApiCall(new List <Services.Core.CSOM.Requests.IRequest <object> >()
            {
                request
            })
            {
                Commit = true,
            };

            await field.RawRequestAsync(updateCall, HttpMethod.Post).ConfigureAwait(false);
        }