public async void DeleteProductVersionWithIncorrectIdReturnsNotFound()
        {
            using (var context = DbTestContext.GenerateContextWithData())
                using (var controller = new ProductsController(context, _mapper))
                {
                    var result = await controller.DeleteProductVersion(1, 999);

                    Assert.IsType <NotFoundResult>(result);
                }
        }
        public async void DeleteProductVersionModelStateErrorReturnsBadRequest()
        {
            using (var context = DbTestContext.GenerateContextWithData())
                using (var controller = new ProductsController(context, _mapper))
                {
                    controller.ModelState.AddModelError("an error", "some error");

                    var result = await controller.DeleteProductVersion(1, 1);

                    Assert.IsType <BadRequestObjectResult>(result);
                }
        }
        public async void DeleteProductVersionIdDeletesProductVersion()
        {
            using (var context = DbTestContext.GenerateContextWithData())
                using (var controller = new ProductsController(context, _mapper))
                {
                    var result = await controller.DeleteProductVersion(1, 3);

                    ProductVersionDto p3 = GetTestProductVersionDto(3);

                    Assert.NotNull(result);
                    var okObjectResult = Assert.IsType <OkObjectResult>(result);
                    var resultValue    = okObjectResult.Value;
                    Assert.Equal(p3, resultValue);
                }
        }