public void MSOXWSCONT_S01_TC01_VerifyContactItemWithRequiredElement()
{
#region Step 1:Create the contact item.
// Call CreateItem operation.
ContactItemType item = this.BuildContactItemWithRequiredProperties();
CreateItemResponseType createItemResponse = this.CallCreateItemOperation(item);
// Check the response.
Common.CheckOperationSuccess(createItemResponse, 1, this.Site);
#endregion
#region Step 2:Get the contact item.
// The contact item to get.
ItemIdType[] itemArray = new ItemIdType[this.ExistContactItems.Count];
this.ExistContactItems.CopyTo(itemArray, 0);
GetItemResponseType getItemResponse = this.CallGetItemOperation(itemArray);
// Check the response.
Common.CheckOperationSuccess(getItemResponse, 1, this.Site);
// Get the item ids from response.
ItemIdType[] getItemIds = Common.GetItemIdsFromInfoResponse(getItemResponse);
Site.Assert.AreEqual<int>(
1,
getItemIds.GetLength(0),
"One contact item should be returned!");
#endregion
#region Step 3:Delete the contact item.
DeleteItemType deleteItemRequest = new DeleteItemType();
deleteItemRequest.ItemIds = getItemIds;
// Configure the enumeration value that specifies how an contact item is to be deleted.
deleteItemRequest.DeleteType = DisposalType.HardDelete;
DeleteItemResponseType deleteItemResponse = this.CONTAdapter.DeleteItem(deleteItemRequest);
// Check the response.
Common.CheckOperationSuccess(deleteItemResponse, 1, this.Site);
// Clear ExistItemIds for DeleteItem.
this.InitializeCollection();
#endregion
#region Step 4:Get the deleted contact item
// Call GetItem operation.
getItemResponse = this.CallGetItemOperation(getItemIds);
Site.Assert.AreEqual<int>(
1,
getItemResponse.ResponseMessages.Items.GetLength(0),
"Expected Item Count: {0}, Actual Item Count: {1}",
1,
getItemResponse.ResponseMessages.Items.GetLength(0));
Site.Assert.AreEqual<ResponseCodeType>(
ResponseCodeType.ErrorItemNotFound,
getItemResponse.ResponseMessages.Items[0].ResponseCode,
string.Format(
"Get deleted item should fail! Expected response code: {0}, actual response code: {1}",
ResponseCodeType.ErrorItemNotFound,
getItemResponse.ResponseMessages.Items[0].ResponseCode));
#endregion
}