Ejemplo n.º 1
0
        public void Details_ReturnsView()
        {
            // Arrange
            var expectedInventoryItem = CreateTestInventoryItems()[0];

            var queryFixture = new InventoryItemQuery()
            {
                InventoryItemId = expectedInventoryItem.InventoryItemId
            };

            var expectedViewModel = new Fixture().Create <DetailsViewModel>();

            var mockQueryHandler = new Mock <IQueryHandlerAsync <InventoryItemQuery, InventoryItem> >();

            mockQueryHandler.Setup(x => x.HandleAsync(queryFixture)).ReturnsAsync(expectedInventoryItem);

            mockMapper.Setup(x => x.Map <DetailsViewModel>(expectedInventoryItem)).Returns(expectedViewModel);

            // Action
            var result = this.sut.Details(mockQueryHandler.Object, queryFixture).Result as ViewResult;

            // Assert
            result.Should().BeOfType <ViewResult>();

            var actualViewModel = result.Model as DetailsViewModel;

            actualViewModel.Should().BeOfType <DetailsViewModel>();
            actualViewModel.ShouldBeEquivalentTo(expectedViewModel);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Details(
            [FromServices] IQueryHandlerAsync <InventoryItemQuery, Queries.InventoryItem> queryHandler,
            InventoryItemQuery query)
        {
            var inventoryItem = await queryHandler.HandleAsync(query);

            if (inventoryItem == null)
            {
                return(NotFound());
            }

            var vm = mapper.Map <DetailsViewModel>(inventoryItem);

            return(View(vm));
        }
Ejemplo n.º 3
0
        public void Details_ReturnsNotFound_WhenItemDoesNotExist()
        {
            // Arrange
            var queryFixture = new InventoryItemQuery()
            {
                InventoryItemId = 1
            };

            var mockQueryHandler = new Mock <IQueryHandlerAsync <InventoryItemQuery, InventoryItem> >();

            mockQueryHandler.Setup(x => x.HandleAsync(queryFixture)).ReturnsAsync((InventoryItem)null);

            // Action
            var result = this.sut.Details(mockQueryHandler.Object, queryFixture).Result as NotFoundResult;

            // Assert
            result.Should().BeOfType <NotFoundResult>();
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Edit(
            [FromServices] IQueryHandlerAsync <InventoryItemQuery, Queries.InventoryItem> queryHandler,
            InventoryItemQuery query,
            [FromServices] IQueryHandlerAsync <BrandsQuery, List <Queries.Brand> > brandsQueryHandler,
            [FromServices] IQueryHandlerAsync <CategoriesQuery, List <Queries.Category> > categoriesQueryHandler)
        {
            var inventoryItem = await queryHandler.HandleAsync(query);

            if (inventoryItem == null)
            {
                return(NotFound());
            }

            var brands = await brandsQueryHandler.HandleAsync(new BrandsQuery());

            var categories = await categoriesQueryHandler.HandleAsync(new CategoriesQuery());

            var vm = mapper.Map <EditViewModel>(inventoryItem);

            vm.Brands     = brands;
            vm.Categories = categories;

            return(View(vm));
        }