Exemple #1
0
        public async Task CreateItem_ReturnOkObjectResult_WhenCreateItemIsSuccess()
        {
            //Arrange
            var saveItemResource = new SaveItemResource()
            {
                Title       = "Item 1",
                Description = "Description",
                Price       = 30.00M,
                Condition   = "New",
                Quantity    = 1,
                IsAuction   = false
            };
            var newItem = _mapper.Map <SaveItemResource, Item>(saveItemResource);

            _mockItemService.Setup(service => service.CreateItem(It.IsAny <Item>()))
            .ReturnsAsync(newItem);

            var controller = new ItemsController(_mockItemService.Object, _mapper);

            SetupHttpContextUser(controller, _user);

            // Act
            var actionResult = await controller.CreateItem(saveItemResource);

            // Assert
            Assert.IsType <OkObjectResult>(actionResult);
        }
Exemple #2
0
        public async Task CreateItem_ReturnNotFoundObject_WhenCreateItemMethodReturnsNull()
        {
            //Arrange
            var saveItemResource = new SaveItemResource()
            {
                Title       = "Item 1",
                Description = "Description",
                Price       = 30.00M,
                Condition   = "New",
                IsAuction   = false,
                SellerId    = 1
            };
            var itemToCreate = _mapper.Map <SaveItemResource, Item>(saveItemResource);

            _mockItemService.Setup(service => service.CreateItem(itemToCreate))
            .ReturnsAsync((Item)null);

            var controller = new ItemsController(_mockItemService.Object, _mapper);

            SetupHttpContextUser(controller, _user);

            // Act
            var actionResult = await controller.CreateItem(saveItemResource);

            // Assert
            Assert.IsType <NotFoundResult>(actionResult);
        }
        public void GivenItem_ReturnsNewId()
        {
            var createdItem = new ItemPostDto()
            {
                Description = _chance.Sentence(5),
                Upc         = TestUtils.CreateUpc()
            };

            var actionResult   = _itemsController.CreateItem(createdItem);
            var okObjectResult = actionResult as OkObjectResult;
        }
Exemple #4
0
        public void CreateItem_ReturnsUnprocessable_ForRepeatedItem()
        {
            // Assign
            var mock = new Mock <IItemRepository>();

            mock.Setup(repo => repo.GetItemByName(It.IsAny <string>())).Returns(new Item());
            var controller = new ItemsController(itemRepository: mock.Object, cartService: null, mapper: null);

            // Act
            var result = controller.CreateItem(new ItemDto());

            // Assert
            Assert.IsType <ConflictObjectResult>(result.Result);
        }
Exemple #5
0
        public void CreateItem_ReturnsBadRequest_ForInvalidItem()
        {
            // Arrange
            var mock       = new Mock <IItemRepository>();
            var controller = new ItemsController(itemRepository: mock.Object, cartService: null, mapper: null);

            controller.ModelState.AddModelError("error", "some error");

            // Act
            var result = controller.CreateItem(item: null);

            // Assign
            Assert.IsType <BadRequestObjectResult>(result.Result);
        }
Exemple #6
0
        public async Task CreateItem_ReturnBadRequestResult_WhenSaveItemResourceIsInvalid()
        {
            //Arrange
            var saveItemResource = new SaveItemResource()
            {
                Title = null
            };
            var controller = new ItemsController(_mockItemService.Object, _mapper);

            SetupHttpContextUser(controller, _user);

            // Act
            var actionResult = await controller.CreateItem(saveItemResource);

            // Assert
            Assert.IsType <BadRequestObjectResult>(actionResult);
        }
        public async Task CreateItem_WithItemToCreate_ReturnsCreatedItem()
        {
            // Arrange
            var itemToCreate = new ItemCreateDto()
            {
                Name  = Guid.NewGuid().ToString(),
                Price = rand.Next(1000)
            };
            var controller = new ItemsController(itemRepositoryStub.Object);

            // Act
            var result = await controller.CreateItem(itemToCreate);

            // Assert
            var createdResult = Assert.IsType <CreatedAtActionResult>(result.Result);
            var item          = Assert.IsType <ItemReadDto>(createdResult.Value);

            itemToCreate.Should().BeEquivalentTo(item, options => options.ComparingByMembers <ItemCreateDto>().ExcludingMissingMembers());
            item.Id.Should().NotBeEmpty();
        }
Exemple #8
0
        public void CreateItem_ReturnsCreate_ForValidItem()
        {
            // Arrange
            ItemDto testItem = new ItemDto()
            {
                Name = "NewItem", Price = 50, Discount = 0
            };
            var mock        = new Mock <IItemRepository>();
            var mock_mapper = new Mock <IMapper>();

            mock.Setup(repo => repo.AddItem(new Item())).Returns(It.IsAny <int>());
            mock_mapper.Setup(mapper => mapper.Map <Item>(testItem)).Returns(new Item());
            mock_mapper.Setup(mapper => mapper.Map <ItemDto>(It.IsAny <Item>())).Returns(new ItemDto());
            var controller = new ItemsController(itemRepository: mock.Object, cartService: null, mock_mapper.Object);

            // Act
            var result = controller.CreateItem(testItem);

            // Assert
            var createdResult = Assert.IsType <CreatedAtActionResult>(result.Result);

            Assert.IsType <ItemDto>(createdResult.Value);
        }