public void TestGetOptions()
        {
            //Arrange

            //Act
            var results = _testController.GetOptions(new Guid());

            //Assert

            _mockService.Verify(s => s.GetOptionsByProductID(It.IsAny <Guid>()));
        }
        public async Task GetoOptionsShouldReturnResponseDto()
        {
            // Arrange
            _productOptionService.Setup(x => x.GetAllByProductId(It.IsAny <Guid>())).ReturnsAsync(new QueryResponseDto <ProductOptionsResponseDto>(new ProductOptionsResponseDto()));

            var controller = new ProductOptionsController(_productOptionService.Object);

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

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

            var controller = new ProductOptionsController(_productOptionService.Object);

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

            // Assert
            Assert.IsInstanceOfType(response, typeof(BadRequestErrorMessageResult));
            Assert.AreEqual(((BadRequestErrorMessageResult)response).Message, "Error!");
        }
Beispiel #4
0
        public void when_returning_product_options_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 getProductOptions = () => productsController.GetOptions(Guid.NewGuid());

            // Assert:
            Assert.Throws <HttpResponseException>(getProductOptions);
        }
        public async Task GetProductOptionsByProductId_ReturnsOkResult_IfFound()
        {
            //Arrange
            var product        = _fixture.Create <Product>();
            var productId      = Guid.NewGuid();
            var productOptions = _fixture.CreateMany <ProductOption>(3);

            _productService.Setup(x => x.GetProductByIdAsync(productId)).ReturnsAsync(product);
            _productOptionsService.Setup(x => x.GetAllProductOptionsByProductIdAsync(productId))
            .ReturnsAsync(productOptions);

            //Act
            var result = await _productOptionsController.GetOptions(productId);

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