private WorkflowHttpResponse DeleteWorkItem(string path, string id) { if (!_workflow.ExistsWorkItem(id)) { return(WorkflowHttpResponse.NotFound); } var wi = _workflow.GetWorkItem(id); if (wi.Path != path) { return(WorkflowHttpResponse.NotFound); } try { _workflow.DeleteWorkItem(id); } catch (Exception e) { return(WorkflowHttpResponse.Forbidden(e)); } return(WorkflowHttpResponse.Ok); }
public void DeleteWorkItem(string workItemId) { var oldWorkItem = _workflow.GetWorkItem(workItemId); _workflow.DeleteWorkItem(workItemId); var entry = WorkItemLogEntry.DeleteEntry(oldWorkItem); _log.AddLogEntry(entry); }
public void ShouldDeleteWorkItemWhenItemExistsInTheRightPath() { using (_mocks.Record()) { Expect.Call(_workflow.ExistsWorkItem("cr1")).Return(true); Expect.Call(_workflow.GetWorkItem("cr1")).Return(WorkItem.New("cr1", "/scheduled")); _workflow.DeleteWorkItem("cr1"); } using (_mocks.Playback()) { var request = CreateDeleteRequest("/scheduled/cr1"); Assert.AreEqual(HttpStatusCode.OK, _httpHandler.HandleRequest(request).HttpStatusCode); } }