2016-03-24 9 views
-1

Ich versuche, eine Hilfsklasse für meine Codeception-Funktionstests zu machen, die es schneller macht, sich als Superbenutzer anzumelden. Hier ist mein Helfer:Codeception: Verwendung von amLoggedAs in einer Helper-Klasse

class Laravel5Helper extends Laravel5 { 
    public function amSuperAdmin() { 
     $this->amLoggedAs(['username' => 'super', 'password'=> 'password']); 
    } 
} 

Aber das scheint nicht zu funktionieren. Wenn ich die Deklaration $this->amLoggedAs(['username' => 'super', 'password'=> 'password']); in einem normalen Test verwende, meldet es den Benutzer wie erwartet an, aber wenn ich $I->amSuperAdmin() benutze, scheint es, dies nicht zu tun. Es gibt keine Fehler; Die Methode ist in meiner generierten FunctionalTester-Klasse sichtbar. Wenn ich den Code nachvollziehen kann, sehe ich die Authentifizierung in der Laravel5 :: amLoggedAs-Methode, aber der Test wird auf die Anmeldeseite meiner App weitergeleitet, als ob die Authentifizierung fehlgeschlagen wäre.

Was mache ich falsch?

Antwort

0

Ihr Helfer ein anderes Objekt als das Laravel5 Modul ist, sollten Sie die Instanz von Laravel5 Modul erhalten und das Verfahren nennen:

class Laravel5Helper extends \Codeception\Module { 
    public function amSuperAdmin() { 
     $this->getModule('Laravel5')->amLoggedAs(['username' => 'super', 'password'=> 'password']); 
    } 
}