2016-05-03 4 views
0

Ich habe mehrere Sprachen in meiner Laravel 5.2 App. Jedes Gebietsschema wird in diesem Benutzermodell in DB gespeichert. Jedes Mal, wenn sich ein Benutzer anmeldet, muss das Gebietsschema aktualisiert werden.Set Locale bei der Verwendung von Auth :: loginUsingId für phpunit

Das ist in meinem Test, ich benutze viel Auth :: loginUsingId, weil ich Funktion mit verschiedenen Benutzerprofilen testen muss.

Also, ich möchte nicht an jeden dieser Aufrufe mit einem App :: setLocale (Auth :: user-> locale) anhängen, noch extrahieren Sie es zu einer Funktion.

Irgendeine Idee, wie soll ich es tun ???

Antwort

0

Was ich tat, dieses Problem zu lösen ist eine Middleware mit

public function handle($request, Closure $next) 
{ 
    if ($user = Auth::user()) { 
     App::setLocale($user->locale); 
    } 
    return $next($request); 
} 

Durch die Behandlung aller Routen durch diese Middleware erstellen, können Sie das Gebietsschema auf jede Anforderung automatisch eingestellt haben.

+0

yep, aber ich brauche es nicht wirklich, um jede Anfrage auszuführen ... Ich möchte es nur für meinen Test verwenden –