Ejemplo n.º 1
0
        public async Task GetAllOrdersForRegularUserTest()
        {
            //Arrange
            var newOrder = await GetNewAddedEntity();

            var secondOrder = EntitiesCreationService.GetOrder();

            secondOrder.CustomerId   = newOrder.CustomerId;
            secondOrder.RestaurantId = newOrder.RestaurantId;
            var addedSecondOrder = await repository.AddAsync(secondOrder);

            try
            {
                //Act
                var foundOrders = repository.GetAllOrdersForRegularUser((int)newOrder.CustomerId);

                //Assert
                Assert.Contains(foundOrders, fo => fo.EntityId == newOrder.EntityId);
                Assert.Contains(foundOrders, fo => fo.EntityId == addedSecondOrder.EntityId);
            }
            finally
            {
                //Clean
                CleaningDb(newOrder);
                CleaningDb(addedSecondOrder);
            }
        }
        public async Task UpdateStausTestPositive(AccountRoles accountRole, OrderStatuses previousOrderStatus, OrderStatuses nextStatus)
        {
            //Arrange
            var owner = EntitiesCreationService.GetOwner();

            owner.HashedPassword = "******";
            var restaurant = EntitiesCreationService.GetRestaurant();

            owner.Restaurants = new List <Restaurant>()
            {
                restaurant
            };
            owner = await accountsRepository.AddAsync(owner);


            var account = EntitiesCreationService.GetOwner();

            account.HashedPassword = "******";
            account.Role           = accountRole;

            var order = EntitiesCreationService.GetOrder();

            var orderStatus = EntitiesCreationService.GetOrderStatus();

            orderStatus.Status  = previousOrderStatus;
            order.OrderStatuses = new List <OrderStatus>()
            {
                orderStatus
            };
            order.RestaurantId = owner.Restaurants[0].RestaurantId;
            account.Orders     = new List <Order>()
            {
                order
            };

            account = await accountsRepository.AddAsync(account);

            try
            {
                //Act
                await orderService.UpdateStaus(account.AccountId, account.Orders[0].EntityId, nextStatus);

                //Assert
                var statuses = ordersStatusRepository.GetAllStatusesForOrder(account.Orders[0].EntityId);
                Assert.Contains(statuses, s => s.Status == nextStatus);

                var orders = ordersRepository.GetAllOrdersForRegularUser(account.EntityId);
                Assert.Equal(orders[0].LatestOrderStatus, nextStatus);
            }
            finally
            {
                //Clear
                accountsRepository.Remove(account);
                accountsRepository.Remove(owner);
            }
        }
Ejemplo n.º 3
0
        private async Task <Order> GetNewOrder()
        {
            var user = await GetUser();

            var restaurant = await GetRestaurant();

            var order = EntitiesCreationService.GetOrder();

            order.RestaurantId = restaurant.EntityId;
            order.CustomerId   = user.EntityId;
            return(order);
        }
        public async Task UpdateStausTestNegative(AccountRoles accountRole, OrderStatuses previousOrderStatus, OrderStatuses nextStatus)
        {
            //Arrange
            var owner = EntitiesCreationService.GetOwner();

            owner.HashedPassword = "******";
            var restaurant = EntitiesCreationService.GetRestaurant();

            owner.Restaurants = new List <Restaurant>()
            {
                restaurant
            };
            owner = await accountsRepository.AddAsync(owner);


            var account = EntitiesCreationService.GetOwner();

            account.HashedPassword = "******";
            account.Role           = accountRole;

            var order = EntitiesCreationService.GetOrder();

            var orderStatus = EntitiesCreationService.GetOrderStatus();

            orderStatus.Status  = previousOrderStatus;
            order.OrderStatuses = new List <OrderStatus>()
            {
                orderStatus
            };
            order.RestaurantId = owner.Restaurants[0].RestaurantId;
            account.Orders     = new List <Order>()
            {
                order
            };

            account = await accountsRepository.AddAsync(account);

            try
            {
                //Act
                //Assert
                await Assert.ThrowsAnyAsync <Exception>(async() => await orderService.UpdateStaus(account.AccountId, account.Orders[0].EntityId, nextStatus));
            }
            finally
            {
                //Clear
                accountsRepository.Remove(account);
            }
        }