public async Task Handle_GivenInvalidRequest_ShouldThrowNotFoundException()
        {
            // Arrange
            var query = new GetOrderByCustomerIdQuery {
                Id = 500
            };
            var customersRepository = new EfDeletableEntityRepository <Customer>(this.dbContext);
            var sut = new GetOrderByCustomerIdQueryHandler(this.deletableEntityRepository, customersRepository);

            // Act & Assert
            await Should.ThrowAsync <NotFoundException>(sut.Handle(query, It.IsAny <CancellationToken>()));
        }
        public async Task Handle_GivenValidRequest_ShouldReturnViewModel()
        {
            // Arrange
            var query = new GetOrderByCustomerIdQuery {
                Id = 1
            };
            var customersRepository = new EfDeletableEntityRepository <Customer>(this.dbContext);
            var sut = new GetOrderByCustomerIdQueryHandler(this.deletableEntityRepository, customersRepository);

            // Act
            var viewModel = await sut.Handle(query, It.IsAny <CancellationToken>());

            viewModel.ShouldNotBeNull();
            viewModel.ShouldBeOfType <GetAllOrdersViewModel>();
            viewModel.Orders.Count().ShouldBe(1);
        }