Ich habe eine Roster-Entität in meinem Symfony-Projekt, die zwei Datetime-Felder enthält.Symfony Unit Test Formular, Formular mit jquery Datepicker
Das Eingabefeld für FormType verwendet zwei single_text-Felder, eines für das Datum für die Zeit.
$builder->add('serviceUserId', EntityType::class, array('class' => 'AppBundle:ServiceUser',
'data' => $options['serviceUser']))
->add('rosterStartTime', DateTimeType::class,
array('date_widget' => "single_text",
'time_widget' => "single_text",
))
->add('rosterEndTime', DateTimeType::class, array('date_widget' => "single_text",
'time_widget' => "single_text",
)
Kann mir jemand sagen, wie ich das Datum formatiere, das ich in diesem Feld in meinem Unit Test übergebe.
Der nächste ich bekommen habe, ist
$client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'username',
'PHP_AUTH_PW' => 'password',
));
$date = new \DateTime('2015-04-01 08:00');
//browse to an exsting service user and add a roster to that record
$crawler = $client->request('GET', '/serviceuser/2');
$crawler = $client->click($crawler->selectLink('Add New Roster')->link());
// Fill in the form and submit it
$form = $crawler->selectButton('Create')->form(array(
'appbundle_roster[serviceUserId]' => 2,
'appbundle_roster[rosterStartTime]' => $date->format('yyyy-MM-dd'),
'appbundle_roster[rosterStatus ]' => 1,
'appbundle_roster[numberResourcesNeeded]' => 2,
'appbundle_roster[customerId]' => 2,
));
Es ist mit diesem Fehler Fehler
AppBundle\Tests\Controller\RosterControllerTest::testCompleteScenario
InvalidArgumentException: Cannot set value on a compound field "appbundle_roster[rosterStartTime]".
Vielen Dank - leider, dass Unreachable Feld [Jahr] –
zurückgibt Also ich versuche wirklich zu helfen, aber was wird tatsächlich gerendert? Können Sie in einem Browser einchecken und dann mit der rechten Maustaste auf das Feld rosterStartTime klicken und sehen, wie der "Name" angezeigt wird? Ich nehme an, der Name ist zum Beispiel 'appbundle_roster [rosterStartTime] [Jahr]'. Das könnte Ihnen helfen, herauszufinden, was Sie verwenden sollen. –
Scheint ein Datum und Zeit in zwei getrennten Teilen