public async Task GetProductOption_ReturnsOkResult_IfFound()
        {
            //Arrange
            var product       = _fixture.Create <Product>();
            var productId     = Guid.NewGuid();
            var optionId      = Guid.NewGuid();
            var productOption = _fixture.Create <ProductOption>();

            _productService.Setup(x => x.GetProductByIdAsync(productId)).ReturnsAsync(product);
            _productOptionsService.Setup(x => x.GetProductOptionByIdAsync(productId, optionId))
            .ReturnsAsync(productOption);

            //Act
            var result = await _productOptionsController.GetOption(productId, optionId);

            //Assert
            result.Should().NotBeNull().And.BeAssignableTo <IStatusCodeActionResult>()
            .Which.StatusCode.Should().Be((int)HttpStatusCode.OK);
        }
        public void TestGetOption()
        {
            //Arrange

            //Act
            var result = _testController.GetOption(new Guid(), new Guid());

            //Assert
            _mockService.Verify(s => s.GetExactOption(It.IsAny <Guid>(), It.IsAny <Guid>()));
        }
        public void GetProductOptionById_ShouldReturnCorrectProductOption()
        {
            ProductOptionsController controller = new ProductOptionsController(this.mockContext.Object);
            IHttpActionResult        response   = controller.GetOption(product.First().Id, productOptions.First().Id);

            var result        = response as OkNegotiatedContentResult <ProductOption>;
            var productResult = result.Content;

            Assert.IsNotNull(response);
            Assert.IsNotNull(productResult);
            Assert.AreEqual(productOptions.First().Id, productResult.Id);
        }
        public async Task GetOptionShouldReturnResponseDto()
        {
            // Arrange
            _productOptionService.Setup(x => x.GetById(It.IsAny <Guid>())).ReturnsAsync(new QueryResponseDto <ProductOptionResponseDto>(new ProductOptionResponseDto()));

            var controller = new ProductOptionsController(_productOptionService.Object);

            // Act
            var response = await controller.GetOption(Guid.NewGuid());

            // Assert
            Assert.IsInstanceOfType(response, typeof(OkNegotiatedContentResult <ProductOptionResponseDto>));
        }
        public async Task GetOptionShouldBadRequestWhenFail()
        {
            // Arrange
            _productOptionService.Setup(x => x.GetById(It.IsAny <Guid>())).ReturnsAsync(new QueryResponseDto <ProductOptionResponseDto>("Error!"));

            var controller = new ProductOptionsController(_productOptionService.Object);

            // Act
            var response = await controller.GetOption(Guid.NewGuid());

            // Assert
            Assert.IsInstanceOfType(response, typeof(BadRequestErrorMessageResult));
            Assert.AreEqual(((BadRequestErrorMessageResult)response).Message, "Error!");
        }
Exemplo n.º 6
0
        public void when_returning_a_product_option_then_existence_of_product_should_get_validated_first()
        {
            // Arrange:
            var productServiceMock = new Mock <IProductService>();

            productServiceMock.Setup(m => m.GetProductById(It.IsAny <Guid>())).Returns(default(Product));

            var productOptionServiceMock = new Mock <IProductOptionService>();
            var productsController       = new ProductOptionsController(productServiceMock.Object, productOptionServiceMock.Object);

            // Act:
            Action getProductOption = () => productsController.GetOption(Guid.NewGuid(), Guid.NewGuid());

            // Assert:
            Assert.Throws <HttpResponseException>(getProductOption);
        }