Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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>()));
        }