/// <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)); }
public async Task <IActionResult> GetBaskets(string basketId) { var result = await this.getBasketsById .Execute(GetBasketsByIdRequest.Create(basketId)); if (null == result) { return(NotFound()); } return(Ok(result)); }
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); }
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); }
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()); }