protected override void Establish_context()
 {
     base.Establish_context();
     _expectedRouteName = "edit";
     _controller        = new ItemTypeController(_itemRepository.Object);
     _result            = _controller.Edit(_itemOne.Id) as ViewResult;
 }
Ejemplo n.º 2
0
            public async Task RespondsWithCreated_PostNewItemType()
            {
                var itemTypeRepository     = new InMemoryItemTypeRepository();
                var itemTypeReadRepository = new InMemoryItemTypeReadRepository();

                itemTypeRepository.EventOccurred += entity => itemTypeReadRepository.UpdateAsync(new ItemTypeReadModel
                {
                    Id   = entity.Id,
                    Code = entity.Code
                });

                var itemTypeController =
                    new ItemTypeController(itemTypeRepository, itemTypeReadRepository)
                    .BootstrapForTests(urlHelper: new ActionNameOnlyUrlHelper());

                var postRequestDto = new PostRequestDto
                {
                    Code = "fruit"
                };

                var postResponse = (CreatedResult)await itemTypeController.Post(postRequestDto);

                Assert.Equal((int)HttpStatusCode.Created, postResponse.StatusCode);

                var itemTypeDto = (ItemTypeDto)postResponse.Value;

                Assert.Equal(nameof(ItemTypeController.Get), postResponse.Location);

                Assert.Equal("fruit", itemTypeDto.Code);
            }
Ejemplo n.º 3
0
        public void GetItemTypes_ReturnsNotFound()
        {
            _fixItTrackerRepository = new UnitTestsRepository(noItemTypes: true);
            _itemTypeController     = new ItemTypeController(_fixItTrackerRepository, UnitTestsMapping.GetMapper());

            var okResult = _itemTypeController.GetItemTypes();

            Assert.IsType <NotFoundObjectResult>(okResult.Result);
        }
 protected override void Establish_context()
 {
     base.Establish_context();
     _expectedRouteName = "Index";
     _newItemType       = new ItemType()
     {
         Id = 99, Name = "New Item"
     };
     _controller = new ItemTypeController(_itemRepository.Object);
 }
 protected override void Establish_context()
 {
     base.Establish_context();
     _expectedRouteName = "create";
     _newItemType       = new ItemType()
     {
         Id = 99, Name = "New Item"
     };
     _controller = new ItemTypeController(_itemRepository.Object);
     _controller.ModelState.AddModelError("key", "model is invalid");
 }
Ejemplo n.º 6
0
 public static ItemTypeController Fixture()
 {
     ItemTypeController controller = new ItemTypeController(new ItemTypeRepository(), "", new LoginView());
     return controller;
 }
Ejemplo n.º 7
0
        public static ItemTypeController Fixture()
        {
            ItemTypeController controller = new ItemTypeController(new ItemTypeRepository(), "", new LoginView());

            return(controller);
        }
            public async Task ApplyDiscount_FromCouponOnlyForSelectItemType()
            {
                var itemTypeRepository     = new InMemoryItemTypeRepository();
                var itemTypeReadRepository = new InMemoryItemTypeReadRepository();

                itemTypeRepository.EventOccurred += async entity => await new ItemTypeReadModelHandler(itemTypeReadRepository).Handle(entity.NewEvents.ToList <object>());
                var itemRepository     = new InMemoryItemRepository();
                var itemReadRepository = new InMemoryItemReadRepository();

                itemRepository.EventOccurred += async entity => await new ItemReadModelHandler(itemReadRepository).Handle(entity.NewEvents.ToList <object>());
                var couponRepository     = new InMemoryCouponRepository();
                var couponReadRepository = new InMemoryCouponReadRepository();

                couponRepository.EventOccurred += async entity =>
                                                  await new CouponReadModelHandler(couponReadRepository).Handle(entity.NewEvents.ToList <object>());

                var itemTypeController = new ItemTypeController(itemTypeRepository, itemTypeReadRepository)
                                         .BootstrapForTests();

                var postFruitResult = await itemTypeController.Post(
                    new ShoppingCartApi.Controllers.ItemType.PostRequestDto
                {
                    Code = "fruit"
                });

                var fruitItemTypeDto = (ItemTypeDto)postFruitResult.Value;

                var postVegetableResult = await itemTypeController.Post(
                    new ShoppingCartApi.Controllers.ItemType.PostRequestDto
                {
                    Code = "vegetable"
                });

                var vegetableItemTypeDto = (ItemTypeDto)postVegetableResult.Value;

                var itemController = new ItemController(itemRepository, itemReadRepository)
                                     .BootstrapForTests();

                var postPotatoResult = await itemController.Post(new PostRequestDto
                {
                    Code       = "potato",
                    Price      = 30,
                    ItemTypeId = vegetableItemTypeDto.Id
                });

                var potatoDto = (ItemDto)postPotatoResult.Value;

                var postAppleResult = await itemController.Post(new PostRequestDto
                {
                    Code       = "apple",
                    Price      = 50,
                    ItemTypeId = fruitItemTypeDto.Id
                });

                var appleDto = (ItemDto)postAppleResult.Value;

                var couponController = new CouponController(couponRepository)
                                       .BootstrapForTests();
                var postRequestDto = new ShoppingCartApi.Controllers.Coupon.PostRequestDto
                {
                    Code          = "HALF_OFF_FRUIT",
                    PercentOff    = 50,
                    ForItemTypeId = fruitItemTypeDto.Id
                };
                await couponController.Post(postRequestDto);

                var calculatorController =
                    new CalculatorController(itemRepository, couponReadRepository)
                    .BootstrapForTests();

                var calculatorComputeCostRequestDto =
                    new CalculatorComputeCostRequestDto
                {
                    CouponCode    = "HALF_OFF_FRUIT",
                    ShoppingItems =
                        new List <ShoppingItemDto>
                    {
                        new ShoppingItemDto
                        {
                            Id       = potatoDto.Id,
                            Quantity = 3
                        },
                        new ShoppingItemDto
                        {
                            Id       = appleDto.Id,
                            Quantity = 1
                        }
                    }
                };

                var result = await calculatorController.ComputeCost(calculatorComputeCostRequestDto);

                Assert.Equal((int)HttpStatusCode.OK, result.StatusCode);
                Assert.NotNull(result.Value);

                var dto = (CalculatorComputeCostDto)result.Value;

                Assert.Equal(115, dto.TotalCost);
            }
Ejemplo n.º 9
0
 public ItemTypeControllerTest()
 {
     _fixItTrackerRepository = new UnitTestsRepository();
     _itemTypeController     = new ItemTypeController(_fixItTrackerRepository, UnitTestsMapping.GetMapper());
 }