/** * Set form to prevent error with link * @return Object */ public function uploadField() { $field = new UploadField('Images'); $field->setRecord($this); if (ContentModuleField::curr()) { $field->setForm(ContentModuleField::curr()->getForm()); } return $field; }
public function setForm($form) { $this->selectField->setForm($form); return parent::setForm($form); }
public function testIsSaveable() { $form = $this->getMockForm(); $field = new UploadField('MyField'); $this->assertTrue($field->isSaveable(), 'Field without relation is always marked as saveable'); $field = new UploadField('HasOneFile'); $this->assertTrue($field->isSaveable(), 'Field with has_one relation is saveable without record on form'); $field = new UploadField('HasOneFile'); $newRecord = new UploadFieldTest_Record(); $form->loadDataFrom($newRecord); $field->setForm($form); $this->assertFalse($field->isSaveable(), 'Field with has_one relation not saveable with new record on form'); $field = new UploadField('HasOneFile'); $existingRecord = $this->objFromFixture('UploadFieldTest_Record', 'record1'); $form->loadDataFrom($existingRecord); $field->setForm($form); $this->assertTrue($field->isSaveable(), 'Field with has_one relation saveable with saved record on form'); }
function testGetItems() { $record = $this->objFromFixture('UploadFieldTest_Record', 'record1'); $form = $this->getMockForm(); // Anonymous field $field = new UploadField('MyField'); $field->setForm($form); $field->setRecord($record); $this->assertEquals(array(), $field->getItems()->column('Title')); // Field with has_one auto-detected $field = new UploadField('HasOneFile'); $field->setForm($form); $field->setRecord($record); $this->assertEquals(array('File1'), $field->getItems()->column('Title')); // Field with has_many auto-detected $field = new UploadField('HasManyFiles'); $field->setForm($form); $field->setRecord($record); $this->assertEquals(array('File2', 'File3'), $field->getItems()->column('Title')); // Field with many_many auto-detected $field = new UploadField('ManyManyFiles'); $field->setForm($form); $field->setRecord($record); $this->assertNotContains('File1',$field->getItems()->column('Title')); $this->assertNotContains('File2',$field->getItems()->column('Title')); $this->assertNotContains('File3',$field->getItems()->column('Title')); $this->assertContains('File4',$field->getItems()->column('Title')); $this->assertContains('File5',$field->getItems()->column('Title')); }