Ho un collegamento su una pagina /my/example/page
che collega a una route laravel my.route
.Test dei collegamenti di reindirizzamento a siti esterni
percorso
Route::group(['middleware' => ['auth']], function() {
Route::group(['middleware' => ['Some\Custom\Auth\Middleware:1']], function() {
Route::match(['GET', 'POST'], '/my/route/to/external/controller', '[email protected]')->name('my.route');
}
}
link sul /my/example/page
<a href="/my/route/to/external/controller">Link</a>
Questo itinerario /my/route/to/external/controller
punti a questo metodo di controllo externalLink
nel controller exampleController
, che restituisce l'URL per il href di utilizzare
public function externalLink()
{
return $this->redirect->away('www.externalsite.com');
}
Il mio test è
$this->visit(/my/example/page)
->click('Link')
->assertRedirectedToRoute('my.route');
Ricevo constantemente l'errore
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
quando uso il metodo di click()
test.
Posso prendere questo utilizzando @expectedException
ma il suo non aiuta come mi aspetto di vedere una pagina diversa.
Ho anche provato (non insieme);
->assertResponseStatus(200);
->seePageIs('www.externalsite.com');
->assertRedirect();
->followRedirects();
Da un'ispezione del browser, quando l'URL viene cliccato ottengo
http://www.example.com/my/route/to/external 302
http://www.externalsite.com 200
Come posso funzionalmente provare il pulsante viene cliccato e reindirizzamento a un sito esterno?
cosa fa il tuo percorso simile? – tptcat
@tptcat Ho aggiornato la domanda – myol