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); } }
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 WorkItem GetWorkItem(string id) { return(_workflow.GetWorkItem(id)); }