コード例 #1
0
        public async Task GetProductOptionByProductIdAndOptionId_Returns_OkResponse_Successfully()
        {
            //Arrange
            Mock <ILogger <ProductsController> > mockLogger = new Mock <ILogger <ProductsController> >();
            Mock <IProductService> mockProductService       = new Mock <IProductService>();

            GetProductOptionsByProductIdAndOptionsIdResponse getProductOptionsByProductIdAndOptionsIdResponse = new GetProductOptionsByProductIdAndOptionsIdResponse
            {
                Id          = Guid.Parse("de1287c0-4b15-4a7b-9d8a-dd21b3cafec3"),
                Name        = "Test product option name",
                Description = "Test description",
            };

            mockProductService.Setup(m => m.GetProductOptionsByProductIdAndOptionsId(It.IsAny <Guid>(), It.IsAny <Guid>()))
            .ReturnsAsync(getProductOptionsByProductIdAndOptionsIdResponse)
            .Verifiable();

            ProductsController productsController = new ProductsController(mockLogger.Object, mockProductService.Object);

            //Act
            var response = await productsController.GetProductOptionByProductIdAndOptionId(Guid.Parse("de1287c0-4b15-4a7b-9d8a-dd21b3cafec3"), Guid.Parse("845403f2-5179-4efb-820e-c1c120ed5930")) as OkObjectResult;

            var responseObject = response.Value as GetProductOptionsByProductIdAndOptionsIdResponse;

            //Assert
            Assert.Equal(getProductOptionsByProductIdAndOptionsIdResponse.Id, responseObject.Id);
            Assert.Equal(getProductOptionsByProductIdAndOptionsIdResponse.Name, responseObject.Name);
            Assert.Equal(getProductOptionsByProductIdAndOptionsIdResponse.Description, responseObject.Description);

            mockLogger.VerifyAll();
            mockProductService.VerifyAll();
        }
コード例 #2
0
        public async Task <GetProductOptionsByProductIdAndOptionsIdResponse> GetProductOptionsByProductIdAndOptionsId(Guid productId, Guid optionId)
        {
            var productOption = await _productRepository.GetProductOptionsByProductIdAndOptionsId(productId, optionId);

            if (productOption == null)
            {
                _logger.LogInformation($"No product options found with optionsId: {optionId} and productId: {productId}");
                return(null);
            }

            var getProductOptionsByProductIdAndOptionsIdResponse = new GetProductOptionsByProductIdAndOptionsIdResponse
            {
                Name        = productOption.Name,
                Description = productOption.Description,
                Id          = productOption.Id
            };

            return(getProductOptionsByProductIdAndOptionsIdResponse);
        }