public void TestUpdateItemByEmptyIdReturnsException() { var exception = Assert.Throws <ArgumentException>(() => ItemWebApiRequestBuilder.UpdateItemRequestWithId("") .Build()); Assert.AreEqual("UpdateItemByIdRequestBuilder.ItemId : The input cannot be empty.", exception.Message); }
public void TestUpdateItemByInvalidIdReturnsException() { var exception = Assert.Throws <ArgumentException>(() => ItemWebApiRequestBuilder.UpdateItemRequestWithId(testData.Items.Home.Path) .Build()); Assert.AreEqual("UpdateItemByIdRequestBuilder.ItemId : Item id must have curly braces '{}'", exception.Message); }
public void TestFieldsAppending() { Dictionary <string, string> fields = new Dictionary <string, string>(); fields.Add("field1", "VaLuE1"); fields.Add("field2", "VaLuE2"); IUpdateItemByIdRequest request = ItemWebApiRequestBuilder.UpdateItemRequestWithId("{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}") .Database("db") .Language("lg") .Payload(PayloadType.Full) .AddFieldsRawValuesByNameToSet(fields) .AddFieldsRawValuesByNameToSet("field3", "VaLuE3") .Build(); IUpdateItemByIdRequest autocompletedRequest = this.requestMerger.FillUpdateItemByIdGaps(request); string result = this.builder.GetUrlForRequest(autocompletedRequest); string expected = "http://mobiledev1ua1.dk.sitecore.net:7119/-/item/v234%2fsitecore%2fshell" + "?sc_database=db" + "&language=lg" + "&payload=full" + "&sc_itemid=%7b110d559f-dea5-42ea-9c1c-8a5df7e70ef9%7d"; string fieldsResult = this.builder.GetFieldValuesList(autocompletedRequest); string expectedFieldsResult = "field1=VaLuE1&field2=VaLuE2&field3=VaLuE3"; Assert.AreEqual(expected, result); Assert.AreEqual(expectedFieldsResult, fieldsResult); }
public void TestUpdateItemByIdWithNullReadFieldsReturnsException() { var exception = Assert.Throws <ArgumentNullException>(() => ItemWebApiRequestBuilder.UpdateItemRequestWithId(SampleId) .AddFieldsToRead(null) .Build()); Assert.IsTrue(exception.Message.Contains("UpdateItemByIdRequestBuilder.Fields")); }
public void TestUpdateItemByIdWithSpacesOnlyInLanguageReturnsException() { var exception = Assert.Throws <ArgumentException>(() => ItemWebApiRequestBuilder.UpdateItemRequestWithId(SampleId) .Language(" ") .Build()); Assert.AreEqual("UpdateItemByIdRequestBuilder.Language : The input cannot be empty.", exception.Message); }
public void TestUpdateItemByIdWithNullDatabaseDoNotReturnsException() { var request = ItemWebApiRequestBuilder.UpdateItemRequestWithId(SampleId) .Database(null) .Build(); Assert.IsNotNull(request); }
protected override async void PerformUpdateCreatedItemRequest() { if (string.IsNullOrEmpty(this.createItemId)) { Toast.MakeText(this, "Please create item before updating", ToastLength.Long).Show(); return; } var titleFieldValue = this.ItemTitleFieldValue.Text; var textFieldValue = this.ItemTextFieldValue.Text; if (string.IsNullOrEmpty(titleFieldValue) && string.IsNullOrEmpty(textFieldValue)) { Toast.MakeText(this, "Please set et least one field value to update", ToastLength.Long).Show(); return; } try { var builder = ItemWebApiRequestBuilder.UpdateItemRequestWithId(this.createItemId); if (!string.IsNullOrEmpty(titleFieldValue)) { builder.AddFieldsRawValuesByNameToSet("Title", titleFieldValue); } if (!string.IsNullOrEmpty(textFieldValue)) { builder.AddFieldsRawValuesByNameToSet("Text", textFieldValue); } this.SetProgressBarIndeterminateVisibility(true); using (var session = this.Prefs.Session) { var response = await session.UpdateItemAsync(builder.Build()); if (response.ResultCount == 0) { DialogHelper.ShowSimpleDialog(this, "Failed", "Failed to update item"); } else { var message = "Item path : " + response[0].Path; DialogHelper.ShowSimpleDialog(this, "Item updated", message); } } this.SetProgressBarIndeterminateVisibility(false); } catch (System.Exception exception) { this.SetProgressBarIndeterminateVisibility(false); var title = this.GetString(Resource.String.text_error); DialogHelper.ShowSimpleDialog(this, title, exception.Message); } }
public void TestUpdateItemByIdWithTwoVersionsReturnsException() { var exception = Assert.Throws <InvalidOperationException>(() => ItemWebApiRequestBuilder.UpdateItemRequestWithId(SampleId) .Version(1) .Version(2) .Build()); Assert.AreEqual("UpdateItemByIdRequestBuilder.Version : Property cannot be assigned twice.", exception.Message); }
public void TestUpdateItemByIdWithDuplicateFieldsToUpdateReturnsException() { var exception = Assert.Throws <InvalidOperationException>(() => ItemWebApiRequestBuilder.UpdateItemRequestWithId(SampleId) .AddFieldsRawValuesByNameToSet("Title", "Value1") .AddFieldsRawValuesByNameToSet("Title", "Value2") .Build()); Assert.AreEqual("UpdateItemByIdRequestBuilder.FieldsRawValuesByName : duplicate fields are not allowed", exception.Message); }
public void TestAppendingFields() { var requestBuilder = ItemWebApiRequestBuilder.UpdateItemRequestWithId("{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}") .AddFieldsRawValuesByNameToSet("field1", "VaLuE1") .AddFieldsRawValuesByNameToSet("field2", "VaLuE2"); TestDelegate action = () => requestBuilder.AddFieldsRawValuesByNameToSet("field1", "VaLuE3"); Assert.Throws <InvalidOperationException>(action); }
public async void TestUpdateItemByNotExistentId() { var textValue = RandomText(); var request = ItemWebApiRequestBuilder.UpdateItemRequestWithId(SampleId) .AddFieldsRawValuesByNameToSet("Text", textValue) .Build(); var result = await this.session.UpdateItemAsync(request); Assert.AreEqual(0, result.ResultCount); }
public void TestCorrectParamsWithoutFields() { IUpdateItemByIdRequest request = ItemWebApiRequestBuilder.UpdateItemRequestWithId("{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}") .Build(); IUpdateItemByIdRequest autocompletedRequest = this.requestMerger.FillUpdateItemByIdGaps(request); string result = this.builder.GetUrlForRequest(autocompletedRequest); string expected = "http://mobiledev1ua1.dk.sitecore.net:7119/-/item/v234%2fsitecore%2fshell" + "?sc_database=web" + "&language=en" + "&sc_itemid=%7b110d559f-dea5-42ea-9c1c-8a5df7e70ef9%7d"; string fieldsResult = this.builder.GetFieldValuesList(autocompletedRequest); string expectedFieldsResult = ""; Assert.AreEqual(expected, result); Assert.AreEqual(expectedFieldsResult, fieldsResult); }
private async void SendUpdateRequest() { try { using (var session = this.instanceSettings.GetSession()) { var request = ItemWebApiRequestBuilder.UpdateItemRequestWithId(this.CreatedItemId) .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 TestUpdateItemVersion1ById() { await this.RemoveAll(); const int Version = 1; var textValue = RandomText(); var request = ItemWebApiRequestBuilder.UpdateItemRequestWithId(testData.Items.ItemWithVersions.Id) .AddFieldsRawValuesByNameToSet("Text", textValue) .Payload(PayloadType.Full) .Version(Version) .Build(); var result = await this.session.UpdateItemAsync(request); Assert.AreEqual(1, result.ResultCount); var resultItem = result[0]; Assert.AreEqual(testData.Items.ItemWithVersions.Id, resultItem.Id); Assert.AreEqual(textValue, resultItem["Text"].RawValue); Assert.True(50 < resultItem.FieldsCount); Assert.AreEqual(Version, resultItem.Source.VersionNumber); }