public async Task WhenOrderWithGivenIdDoesNotExistThenThrowNotFoundException() { var orderId = Guid.NewGuid(); var inputQuery = CreateQuery(orderId); _orderRepository.Setup(r => r.GetById(orderId)) .ReturnsAsync(() => null); Func <Task> act = async() => await _getOrderByIdQueryHandler.Handle(inputQuery, default); await act.Should().ThrowAsync <NotFoundException>(); }
public async Task HandlingGetOrderByIdQuery_RetrievesOrderData() { var query = new GetOrderByIdQuery { Id = Guid.NewGuid() }; _orderRepository.Setup(o => o.GetOrderById(query.Id)).ReturnsAsync(new OrderModel()); var result = await _handler.Handle(query, new CancellationToken()).ConfigureAwait(false); _orderRepository.Verify(o => o.GetOrderById(query.Id), Times.Once); Assert.NotNull(result); }
public async Task Handle_GivenNullRequest_ShouldTurnArgumentNullException() { // Arrange var sut = new GetOrderByIdQueryHandler(this.deletableEntityRepository); // Act & Assert await Should.ThrowAsync <ArgumentNullException>(sut.Handle(null, It.IsAny <CancellationToken>())); }
public async Task Handle_GivenInvalidRequest_ShouldThrowNotFoundException() { // Arrange var query = new GetOrderByIdQuery { Id = 1000 }; var sut = new GetOrderByIdQueryHandler(this.deletableEntityRepository); // Act & Assert await Should.ThrowAsync <NotFoundException>(sut.Handle(query, It.IsAny <CancellationToken>())); }
public void GetOrderById_ReturnOrder_Fail404NotFound() { OrderServiceMock.Setup(order => order.GetOrderById(It.IsAny <Guid>())); var query = new GetOrderByIdQueryHandler(OrderServiceMock.Object); var response = query.Handle(new GetOrderByIdQuery(Guid.NewGuid()), default); var result = response.Result; Assert.AreEqual(StatusCodes.Status404NotFound, result.StatusCode); Assert.IsNotNull(result); Assert.IsInstanceOf <Response <OrderVm> >(result); }
public void GetOrderById_ReturnOrder_Successful() { OrderServiceMock.Setup(order => order.GetOrderById(It.IsAny <Guid>())).Returns(GetOrder()); var query = new GetOrderByIdQueryHandler(OrderServiceMock.Object); var response = query.Handle(new GetOrderByIdQuery(Guid.NewGuid()), default); var result = response.Result.Data; Assert.IsNotNull(result); Assert.IsInstanceOf <OrderVm>(result); Assert.AreEqual(1, result.ProductOrders.Count); }
public async Task Handle_GivenValidRequest_ShouldReturnOrderLookUpModel() { // Arrange var query = new GetOrderByIdQuery { Id = 1 }; var sut = new GetOrderByIdQueryHandler(this.deletableEntityRepository); // Act var order = await sut.Handle(query, It.IsAny <CancellationToken>()); order.ShouldNotBeNull(); order.ShouldBeOfType <OrderLookupModel>(); order.Description.ShouldBe("John"); }