public async Task DeleteOption_DoesNotExist()
        {
            //Arrange
            var productOptionsRepository = new Mock <IAsyncRepository <ProductAggregate.ProductOption> >();

            productOptionsRepository.Setup(repo => repo.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(MockObjects.ProductOption.GetProductOption_Empty())
            .Verifiable();

            var productRepository = new Mock <IAsyncRepository <ProductAggregate.Product> >();

            var controlller = new ProductOptionsController(productRepository.Object, productOptionsRepository.Object);

            //Act
            var result = await controlller.DeleteOptionAsync(new Guid());

            //Assert
            var notFoundResult = result as NotFoundResult;

            productRepository.Verify();
            productRepository.VerifyNoOtherCalls();
            Assert.NotNull(notFoundResult);

            Assert.Equal(StatusCodes.Status404NotFound, notFoundResult.StatusCode);
        }
        public async Task DeleteOption_Exists()
        {
            //Arrange
            var productOptionsRepository = new Mock <IAsyncRepository <ProductAggregate.ProductOption> >();

            productOptionsRepository.Setup(repo => repo.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(MockObjects.ProductOption.GetProductOption())
            .Verifiable();

            var productRepository = new Mock <IAsyncRepository <ProductAggregate.Product> >();

            var controlller = new ProductOptionsController(productRepository.Object, productOptionsRepository.Object);

            //Act
            var result = await controlller.DeleteOptionAsync(new Guid());

            //Assert
            var acceptedResult = result as StatusCodeResult;

            productRepository.Verify();

            Assert.NotNull(acceptedResult);
            Assert.Equal(StatusCodes.Status202Accepted, acceptedResult.StatusCode);
        }