public RemoveParent ( string projectId, string dataId, string parentId = null, string collectionId = null, string collectionKey = null ) : Task |
||
projectId | string | Project id. |
dataId | string | Data Object id. |
parentId | string | Parent id to remove. If not specified, will remove all Data Object parents. |
collectionId | string | Collection id defining collection containing data. |
collectionKey | string | Collection key defining collection containing data. |
Résultat | Task |
public async Task RemoveParent_ByCollectionKey_WithOtherChildren(DataObjectSyncanoClient client) { //given var newParentRequest = new DataObjectDefinitionRequest(); newParentRequest.ProjectId = TestData.ProjectId; newParentRequest.CollectionId = TestData.CollectionId; var parentObject = await client.New(newParentRequest); var newOtherRequest = new DataObjectDefinitionRequest(); newOtherRequest.ProjectId = TestData.ProjectId; newOtherRequest.CollectionId = TestData.CollectionId; newOtherRequest.ParentId = parentObject.Id; var otherObject = await client.New(newOtherRequest); var newChildRequest = new DataObjectDefinitionRequest(); newChildRequest.ProjectId = TestData.ProjectId; newChildRequest.CollectionId = TestData.CollectionId; var childObject = await client.New(newChildRequest); await client.AddChild(TestData.ProjectId, parentObject.Id, childObject.Id, TestData.CollectionId); //when var result = await client.RemoveParent(TestData.ProjectId, childObject.Id, parentObject.Id, TestData.CollectionId); var getResult = await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId: parentObject.Id, includeChildren: true); //then result.ShouldBeTrue(); getResult.Children.ShouldNotBeEmpty(); getResult.Children.Count.ShouldEqual(1); getResult.Children.Any(d => d.Id == otherObject.Id).ShouldBeTrue(); getResult.Children.Any(d => d.Id == childObject.Id).ShouldBeFalse(); //cleanup var deleteRequest = new DataObjectSimpleQueryRequest(); deleteRequest.ProjectId = TestData.ProjectId; deleteRequest.CollectionId = TestData.CollectionId; await client.Delete(deleteRequest); }
public async Task RemoveParent_WithInvalidChildId_ThrowsException(DataObjectSyncanoClient client) { //given var newParentRequest = new DataObjectDefinitionRequest(); newParentRequest.ProjectId = TestData.ProjectId; newParentRequest.CollectionId = TestData.CollectionId; var parentObject = await client.New(newParentRequest); var newChildRequest = new DataObjectDefinitionRequest(); newChildRequest.ProjectId = TestData.ProjectId; newChildRequest.CollectionId = TestData.CollectionId; var childObject = await client.New(newChildRequest); await client.AddChild(TestData.ProjectId, parentObject.Id, childObject.Id, TestData.CollectionId); try { //when await client.RemoveParent(TestData.ProjectId, "abc", parentObject.Id, TestData.CollectionId); throw new Exception("RemoveParent should throw an exception"); } catch (Exception e) { //then e.ShouldBeType<SyncanoException>(); } //cleanup var deleteRequest = new DataObjectSimpleQueryRequest(); deleteRequest.ProjectId = TestData.ProjectId; deleteRequest.CollectionId = TestData.CollectionId; await client.Delete(deleteRequest); }
public async Task RemoveParent_ByCollectionKey(DataObjectSyncanoClient client) { //given var newParentRequest = new DataObjectDefinitionRequest(); newParentRequest.ProjectId = TestData.ProjectId; newParentRequest.CollectionId = TestData.CollectionId; var parentObject = await client.New(newParentRequest); var newChildRequest = new DataObjectDefinitionRequest(); newChildRequest.ProjectId = TestData.ProjectId; newChildRequest.CollectionId = TestData.CollectionId; var childObject = await client.New(newChildRequest); await client.AddChild(TestData.ProjectId, parentObject.Id, childObject.Id, TestData.CollectionId); //when var result = await client.RemoveParent(TestData.ProjectId, childObject.Id, parentObject.Id, collectionKey: TestData.CollectionKey); var getResult = await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId: parentObject.Id, includeChildren: true); //then result.ShouldBeTrue(); getResult.Children.ShouldBeNull(); //cleanup var deleteRequest = new DataObjectSimpleQueryRequest(); deleteRequest.ProjectId = TestData.ProjectId; deleteRequest.CollectionId = TestData.CollectionId; await client.Delete(deleteRequest); }