public Update ( |
||
request | Request for defining new data object properties. | |
dataId | string | Data id. If both id and key are specified, will use id for getting object while data_key will be updated with provided new value. data_key has to be unique within collection. |
return | Task |
public async Task Update_ByCollectionId_WithUserName_CreatesNewDataObject(DataObjectSyncanoClient client) { //given var request = new DataObjectDefinitionRequest(); request.ProjectId = TestData.ProjectId; request.CollectionId = TestData.CollectionId; var dataObject = await client.New(request); request.UserName = TestData.UserName; //when var result = await client.Update(request, dataObject.Id); //then result.ShouldNotBeNull(); result.Folder.ShouldEqual(request.Folder); result.User.Name.ShouldEqual(request.UserName); //cleanup var deleteRequest = new DataObjectSimpleQueryRequest(); deleteRequest.ProjectId = TestData.ProjectId; deleteRequest.CollectionId = TestData.CollectionId; deleteRequest.DataId = result.Id; await client.Delete(deleteRequest); }
public async Task Update_WithTooLongAdditionalValue_ThrowsException(DataObjectSyncanoClient client) { //given var request = new DataObjectDefinitionRequest(); request.ProjectId = TestData.ProjectId; request.CollectionId = TestData.CollectionId; request.Additional = new Dictionary<string, string>(); request.Additional.Add("additional key", new String('a', DataObjectSyncanoClient.MaxAdditionalValueLenght + 1)); try { //when await client.Update(request); throw new Exception("Update should throw an exception"); } catch (Exception e) { //then e.ShouldBeType<ArgumentException>(); } }
public async Task Update_WithTooLongText_ThrowsException(DataObjectSyncanoClient client) { //given var request = new DataObjectDefinitionRequest(); request.ProjectId = TestData.ProjectId; request.CollectionId = TestData.CollectionId; request.Text = new String('a', DataObjectSyncanoClient.MaxTextLenght + 1); try { //when await client.Update(request); throw new Exception("Update should throw an exception"); } catch (Exception e) { //then e.ShouldBeType<ArgumentException>(); } }
public async Task Update_WithTooMuchAdditionals_ThrowsException(DataObjectSyncanoClient client) { //given var request = new DataObjectDefinitionRequest(); request.ProjectId = TestData.ProjectId; request.CollectionId = TestData.CollectionId; request.Additional = new Dictionary<string, string>(); for (int i = 0; i < DataObjectSyncanoClient.MaxAdditionalsCount + 5; ++i) request.Additional.Add(i.ToString(CultureInfo.InvariantCulture), "additional value"); try { //when await client.Update(request); throw new Exception("Update should throw an exception"); } catch (Exception e) { //then e.ShouldBeType<ArgumentException>(); } }
public async Task Update_WithNullCollectionIdAndKey_ThrowsException(DataObjectSyncanoClient client) { //given var request = new DataObjectDefinitionRequest(); request.ProjectId = TestData.ProjectId; try { //when await client.Update(request, "dataId"); throw new Exception("Update should throw an exception"); } catch (Exception e) { //then e.ShouldBeType<ArgumentNullException>(); } }
public async Task Update_ByCollectionId_WithAdditionals_CreatesNewDataObject(DataObjectSyncanoClient client) { //given var additionals = new Dictionary<string, string>(); additionals.Add("param1", "value1"); additionals.Add("param2", "value2"); additionals.Add("param3", "value3"); var request = new DataObjectDefinitionRequest(); request.ProjectId = TestData.ProjectId; request.CollectionId = TestData.CollectionId; var dataObject = await client.New(request); request.Additional = additionals; //when var result = await client.Update(request, dataObject.Id); //then result.ShouldNotBeNull(); result.Folder.ShouldEqual(request.Folder); result.Additional.ShouldNotBeNull(); result.Additional.Count.ShouldEqual(additionals.Count); //cleanup var deleteRequest = new DataObjectSimpleQueryRequest(); deleteRequest.ProjectId = TestData.ProjectId; deleteRequest.CollectionId = TestData.CollectionId; deleteRequest.DataId = result.Id; await client.Delete(deleteRequest); }
public async Task Update_ByCollectionId_WithFolderName_CreatesNewDataObject(DataObjectSyncanoClient client) { //given var folderClient = new FolderSyncanoClient(new SyncanoHttpClient(TestData.InstanceName, TestData.BackendAdminApiKey)); var newFolder = await folderClient.New(TestData.ProjectId, "NewFolder", TestData.CollectionId); var request = new DataObjectDefinitionRequest(); request.ProjectId = TestData.ProjectId; request.CollectionId = TestData.CollectionId; var dataObject = await client.New(request); await client.New(request); request.Folder = newFolder.Name; //when var result = await client.Update(request, dataObject.Id); //then result.ShouldNotBeNull(); result.Folder.ShouldEqual(newFolder.Name); //cleanup var deleteRequest = new DataObjectSimpleQueryRequest(); deleteRequest.ProjectId = TestData.ProjectId; deleteRequest.CollectionId = TestData.CollectionId; deleteRequest.DataId = result.Id; await client.Delete(deleteRequest); await folderClient.Delete(TestData.ProjectId, newFolder.Name, TestData.CollectionId); }
public async Task Update_ByCollectionId_DeleteImage_CreatesNewDataObject(DataObjectSyncanoClient client) { //given var request = new DataObjectDefinitionRequest(); request.ProjectId = TestData.ProjectId; request.CollectionId = TestData.CollectionId; request.ImageBase64 = TestData.ImageToBase64("smallSampleImage.png"); var dataObject = await client.New(request); request.ImageBase64 = null; //when var result = await client.Update(request, dataObject.Id); //then result.ShouldNotBeNull(); result.Folder.ShouldEqual(request.Folder); result.Image.ShouldBeNull(); //cleanup var deleteRequest = new DataObjectSimpleQueryRequest(); deleteRequest.ProjectId = TestData.ProjectId; deleteRequest.CollectionId = TestData.CollectionId; deleteRequest.DataId = result.Id; await client.Delete(deleteRequest); }