1

In Laravel tests i want to send a get request with some parameters like this:

        $response=$this->get(
            route('orders.payment.pay',['order'=>$order->id]),
            ['pay_type','payment_gateway']
        );

but when i run it, i have 302 Error code in response. But when use it like this it works correct:

        $response=$this->get(
            route('orders.payment.pay',['order'=>$order->id]).'?pay_type=payment_gateway'
        );

Is there any way to pass parameter like first way?

Omid Reza Heidari
  • 658
  • 12
  • 27

1 Answers1

2

This is the signature of the route helper:

function route($name, $parameters = [], $absolute = true)

You should add any query parameters you want to the array or parameters you are passing to the route helper:

route('orders.payment.pay', [
    'order' => $order->id,
    'pay_type' => 'payment_gateway',
]);

Any parameter that is not substituted for a Route Parameter is appended as a query string parameter.

lagbox
  • 48,571
  • 8
  • 72
  • 83