public void Put_FlowValidError() { // Arrange CheckOutItem item = new CheckOutItem() { Id = "5c012842f8e2708cf041e247" }; _checkOutServicesMock.Setup(x => x.GetCheckOut(item.Id)).Returns(Task.FromResult(item)); _checkOutFlowValidMock .Setup(x => x.IsValidOperation(BaseValidatorType.Update, It.IsAny <CheckOutItem>(), It.IsAny <CheckOutItem>())) .Returns(false) .Verifiable(); // Act CheckOutController controller = new CheckOutController(_checkOutServicesMock.Object, _eventBusMock.Object, _checkOutFlowValidMock.Object); ActionResult actionResult = controller.Put(item); // Assert. Assert.IsType <BadRequestResult>(actionResult); BadRequestResult actionResultType = actionResult as BadRequestResult; Assert.Equal(actionResultType.StatusCode, (int)System.Net.HttpStatusCode.BadRequest); _checkOutServicesMock.Verify(); _checkOutFlowValidMock.Verify(); }
public void Put_ObjectNull() { // Arrange // Act CheckOutController controller = new CheckOutController(_checkOutServicesMock.Object, _eventBusMock.Object, _checkOutFlowValidMock.Object); ActionResult actionResult = controller.Put(null); // Assert. Assert.IsType <BadRequestResult>(actionResult); BadRequestResult actionResultType = actionResult as BadRequestResult; Assert.Equal(actionResultType.StatusCode, (int)System.Net.HttpStatusCode.BadRequest); }
public void Put_Success() { // Arrange CheckOutItem itemFrom = new CheckOutItem() { Id = "5c012842f8e2708cf041e247", CurrentState = CheckOutItem.STATE_PAID }; CheckOutItem itemTo = new CheckOutItem() { Id = "5c012842f8e2708cf041e247", CurrentState = CheckOutItem.STATE_CLOSED }; _checkOutServicesMock.Setup(x => x.GetCheckOut(itemFrom.Id)).Returns(Task.FromResult(itemFrom)); _checkOutServicesMock.Setup(x => x.UpdateCheckOut(itemTo.Id, itemTo)) .ReturnsAsync(true) .Verifiable(); _checkOutFlowValidMock .Setup(x => x.IsValidOperation(BaseValidatorType.Update, It.IsAny <CheckOutItem>(), It.IsAny <CheckOutItem>())) .Returns(true) .Verifiable(); // Act CheckOutController controller = new CheckOutController(_checkOutServicesMock.Object, _eventBusMock.Object, _checkOutFlowValidMock.Object); ActionResult actionResult = controller.Put(itemTo); // Assert. Assert.IsType <AcceptedResult>(actionResult); AcceptedResult actionResultType = actionResult as AcceptedResult; Assert.Equal(actionResultType.StatusCode, (int)System.Net.HttpStatusCode.Accepted); _checkOutServicesMock.Verify(); _checkOutFlowValidMock.Verify(); // Assert Bus. _eventBusMock.Verify(x => x.Publish(It.IsAny <CheckOutEvent>())); }