public void TestUpdateItemByPathWithNullFieldsToUpdateReturnsException() { var exception = Assert.Throws <ArgumentNullException>(() => ItemWebApiRequestBuilder.UpdateItemRequestWithPath("/path") .AddFieldsRawValuesByNameToSet(null) .Build()); Assert.IsTrue(exception.Message.Contains("UpdateItemByPathRequestBuilder.FieldsRawValuesByName")); }
public void TestUpdateItemByPathWithTwoDatabasesReturnsException() { var exception = Assert.Throws <InvalidOperationException>(() => ItemWebApiRequestBuilder.UpdateItemRequestWithPath("/path") .Database("db1") .Database("db2") .Build()); Assert.AreEqual("UpdateItemByPathRequestBuilder.Database : Property cannot be assigned twice.", exception.Message); }
public void TestItemNameAndFieldNameIsCaseInsensitive() { IUpdateItemByPathRequest request = ItemWebApiRequestBuilder.UpdateItemRequestWithPath("/sitecore/content/home") .AddFieldsRawValuesByNameToSet("field1", "VaLuE1") .AddFieldsRawValuesByNameToSet("field2", "VaLuE2") .Build(); IUpdateItemByPathRequest autocompletedRequest = this.requestMerger.FillUpdateItemByPathGaps(request); string result = this.builder.GetUrlForRequest(autocompletedRequest); string expected = "http://mobiledev1ua1.dk.sitecore.net:7119/-/item/v234%2fsitecore%2fshell%2f" + "sitecore%2fcontent%2fhome" + "?sc_database=web" + "&language=en"; string fieldsResult = this.builder.GetFieldValuesList(autocompletedRequest); string expectedFieldsResult = "field1=VaLuE1&field2=VaLuE2"; Assert.AreEqual(expected, result); Assert.AreEqual(expectedFieldsResult, fieldsResult); }
public async void TestUpdateItemByIdWithNotExistentField() { await this.RemoveAll(); const string FieldName = "Texttt"; var fieldValue = RandomText(); ISitecoreItem item = await this.CreateItem("item to updata not existen field"); var request = ItemWebApiRequestBuilder.UpdateItemRequestWithPath(item.Path) .AddFieldsRawValuesByNameToSet(FieldName, fieldValue) .AddFieldsToRead(FieldName) .Build(); var result = await this.session.UpdateItemAsync(request); Assert.AreEqual(1, result.ResultCount); var resultItem = result[0]; Assert.AreEqual(item.Id, resultItem.Id); Assert.AreEqual(0, resultItem.FieldsCount); }
private async void SendUpdateRequest() { try { using (var session = this.instanceSettings.GetSession()) { var request = ItemWebApiRequestBuilder.UpdateItemRequestWithPath(this.CreatedItemPath) .AddFieldsRawValuesByNameToSet("Title", titleField.Text) .AddFieldsRawValuesByNameToSet("Text", textField.Text) .Build(); this.ShowLoader(); ScItemsResponse response = await session.UpdateItemAsync(request); if (response.Any()) { ISitecoreItem item = response[0]; AlertHelper.ShowLocalizedAlertWithOkOption("The item created successfully", "Item path: " + item.Path); } else { AlertHelper.ShowLocalizedAlertWithOkOption("Message", "Item is not exist"); } } } catch (Exception e) { AlertHelper.ShowLocalizedAlertWithOkOption("Error", e.Message); } finally { BeginInvokeOnMainThread(delegate { this.HideLoader(); }); } }
public async void TestUpdateItemByIdSetHtmlField() { await this.RemoveAll(); const string FieldName = "Text"; const string FieldValue = "<div>Welcome to Sitecore!</div>"; ISitecoreItem item = await this.CreateItem("item to updata not existen field"); var request = ItemWebApiRequestBuilder.UpdateItemRequestWithPath(item.Path) .AddFieldsRawValuesByNameToSet(FieldName, FieldValue) .AddFieldsToRead(FieldName) .Build(); var result = await this.session.UpdateItemAsync(request); Assert.AreEqual(1, result.ResultCount); var resultItem = result[0]; Assert.AreEqual(item.Id, resultItem.Id); Assert.AreEqual(1, resultItem.FieldsCount); Assert.AreEqual(FieldValue, resultItem[FieldName].RawValue); }
public async void TestUpdateInternationalItemByPath() { await this.RemoveAll(); const string TextValue = "ఉక్రెయిన్ కు గ్లోరీ Ruhm für die Ukraine"; const string ItemName = "גלורי לאוקראינה"; ISitecoreItem item = await this.CreateItem(ItemName); var request = ItemWebApiRequestBuilder.UpdateItemRequestWithPath(testData.Items.CreateItemsHere.Path + "/" + ItemName) .AddFieldsRawValuesByNameToSet("Text", TextValue) .AddFieldsToRead("Text") .Payload(PayloadType.Content) .Build(); var result = await this.session.UpdateItemAsync(request); Assert.AreEqual(1, result.ResultCount); var resultItem = result[0]; Assert.AreEqual(item.Id, resultItem.Id); Assert.AreEqual(item.DisplayName, resultItem.DisplayName); Assert.AreEqual(TextValue, resultItem["Text"].RawValue); }