public async Task Post_ItemCreationThrowsAlreadyExistException_ReturnsConflictResult()
        {
            var repoMock = new Mock <IProductCategories>();

            repoMock.Setup(p => p.CreateAsync(It.IsAny <ProductCategory>()))
            .Throws(new ItemAlreadyExistsException());

            var categoryController = new ProductCategoryController(repoMock.Object, null);
            var response           = await categoryController.PostProductCategory(new ProductCategory());

            Assert.IsType <ConflictObjectResult>(response.Result);
        }
        public async Task Post_ItemGetsCreated_ReturnsOkObjectResult()
        {
            var item = new ProductCategory()
            {
                Id   = "123-abc",
                Name = "TestCategory"
            };

            var repoMock = new Mock <IProductCategories>();

            repoMock.Setup(p => p.CreateAsync(item))
            .Returns(Task.FromResult(item));

            var categoryController = new ProductCategoryController(repoMock.Object, null);
            var response           = await categoryController.PostProductCategory(item);

            Assert.IsType <CreatedResult>(response.Result);
        }