Exemple #1
0
        /// <summary>
        /// Executes the GetBasketsById use case
        /// </summary>
        /// <param name="request">The request filter to be applied</param>
        /// <returns>Returns the Basket for the argument filter request</returns>
        public async Task <Basket> Execute(GetBasketsByIdRequest request)
        {
            Ensure.IsNotNull(request);
            Ensure.IsNotNullOrEmpty(request.BasketId);

            var basket = await this.basketsRepository.Get(request.BasketId);

            return(this.basketsTypeAdapter.ToDto(basket));
        }
Exemple #2
0
        public async Task <IActionResult> GetBaskets(string basketId)
        {
            var result = await this.getBasketsById
                         .Execute(GetBasketsByIdRequest.Create(basketId));

            if (null == result)
            {
                return(NotFound());
            }
            return(Ok(result));
        }
Exemple #3
0
        public async Task GetBasketsById_NullRequest_ThrowsException()
        {
            //Arrange
            var mock   = GetBasketsByIdMock.Create();
            var target = mock.Target;
            GetBasketsByIdRequest request = null;

            //Act
            async Task execute() => await target.Execute(request);

            //Assert
            await Assert.ThrowsAsync <ArgumentNullException>(execute);
        }
Exemple #4
0
        public async Task GetBasketsById_NullBasketId_ThrowsException()
        {
            //Arrange
            string basketId = null;
            var    mock     = GetBasketsByIdMock.Create();
            var    target   = mock.Target;
            var    request  = GetBasketsByIdRequest.Create(basketId);

            //Act
            async Task execute() => await target.Execute(request);

            //Assert
            await Assert.ThrowsAsync <ArgumentException>(execute);
        }
Exemple #5
0
        public async Task GetBasketsById_WithId_ReturnsBasket()
        {
            //Arrange
            var basketId = Guid.NewGuid().ToString();
            var mock     = GetBasketsByIdMock.Create();
            var target   = mock.Target;
            var request  = GetBasketsByIdRequest.Create(basketId);

            //Act
            var actual = await target.Execute(request);

            //Assert
            mock.BasketsRepositoryMock.Verify(rep => rep.Get(basketId), Times.Once());
        }