2016-06-09 5 views
0

ich eine Laravel 5.2 App haben, und in der Ansicht habe ich 3 KontrollkästchenTicking eine Checkbox mit Integrationstests

<input type="checkbox" name="roles[]" value="5"> 
<input type="checkbox" name="roles[]" value="11"> 
<input type="checkbox" name="roles[]" value="7"> 

Ich habe einen Test für die Seite

$this->visit(route('staff.create')) 
    ->type($name = str_random(), 'name') 
    ->type($phone = str_random(), 'phone') 
    ->set('roles', 5) // <--- what to do here 
    ->press('Save') 
    ->seePageIs(route('staff.index')) 
    ->see($name); 

Alles Werkseinstellung erwarten Rollen. Der Check-Test-Helfer erlaubt es Ihnen nicht, einen Wert zu übergeben ($this->check($elementName)). Ich dachte, es wäre "eingestellt", aber das scheitert auch.

Wie kann ich meine erste Checkbox im Test überprüfen?

Antwort

0

Ich überprüfte InteractsWithPages Merkmal und ich glaube nicht, dass es Input-Arrays aus der Box unterstützt. Sie könnten versuchen, Satz zu ersetzen() mit:

->storeInput('roles', 5); 

oder

->storeInput('roles', [ 5 ]); 

Und wenn es nicht genug ist - Sie diese Methode in Ihrem Testfall außer Kraft setzen können.