public void Delete_WhenPatronFound_Returns_Accepted() { Guid patronId = MakeTestPatron(); Expression <Action <ICommandQueue> > publishSetup = cq => cq.Publish(It.Is <DeletePatron>(dp => dp.PatronId == patronId)); AcceptedResult result; using (PatronController controller = new PatronController(cmdQueue, dbContextFactory) { ControllerContext = new ControllerContext() { HttpContext = new Mock <HttpContext>().Object } }) { SetupUser(controller, "Delete User"); cmdQueueMock.Setup(publishSetup).Verifiable(); result = controller.Delete(patronId) as AcceptedResult; } cmdQueueMock.Verify(publishSetup, Times.Once); Assert.IsType <AcceptedResult>(result); Assert.Null(result.Value); }
public void Delete_WhenPatronNotFound_Returns_NotFound() { Guid patronId = Guid.NewGuid(); NotFoundObjectResult result; using (PatronController controller = new PatronController(cmdQueue, dbContextFactory)) { result = controller.Delete(patronId) as NotFoundObjectResult; } cmdQueueMock.Verify(c => c.Publish(It.IsAny <ICommand>()), Times.Never()); Assert.IsType <NotFoundObjectResult>(result); Assert.IsType <Guid>(result.Value); Assert.Equal(patronId, (Guid)result.Value); }