public GetOrderByIdQueryHandlerTests()
        {
            _orderRepository         = new Mock <IOrderQueryRepository>();
            _productRepository       = new Mock <IProductQueryRepository>();
            _serviceMethodRepository = new Mock <IServiceMethodQueryRepository>();

            _handler = new GetOrderByIdQueryHandler(_orderRepository.Object, _productRepository.Object, _serviceMethodRepository.Object);
        }
예제 #2
0
        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>()));
        }
예제 #3
0
        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>()));
        }
예제 #4
0
        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);
        }
예제 #5
0
        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);
        }
예제 #6
0
        public GetOrderByIdQueryTestsBase()
        {
            _mapper = new Mock <IMapper>();
            _getOrderByIdQueryHandler = new GetOrderByIdQueryHandler(_storeDbContext, _mapper.Object);

            _order = new OrderDTOs.Order
            {
                Id               = Guid.NewGuid(),
                CreatedOn        = DateTime.Now,
                RequiredBinWidth = _requiredBinWidthOutput,
                OrderItems       = new List <OrderDTOs.OrderItem>()
            };
        }
예제 #7
0
        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");
        }
예제 #8
0
 public GetOrderByIdQueryHandlerTests()
 {
     _getOrderByIdQueryHandler = new GetOrderByIdQueryHandler(_orderRepository.Object);
 }