Beispiel #1
0
 /**
  * @depends testCustomField
  */
 public function testSetAttributesWithPostForCustomField()
 {
     $values = array('Automotive', 'Adult Entertainment', 'Financial Services', 'Mercenaries & Armaments');
     $industryFieldData = CustomFieldData::getByName('Industries');
     $industryFieldData->defaultValue = $values[1];
     $industryFieldData->serializedData = serialize($values);
     $this->assertTrue($industryFieldData->save());
     $model = new TestCustomFieldsModel();
     $this->assertEquals($values[1], $model->industry->value);
     $this->assertTrue($model->validate());
     $_FAKEPOST = array('industry' => array('value' => $values[2]));
     $model->setAttributes($_FAKEPOST);
     $this->assertEquals($values[2], $model->industry->value);
 }
 /**
  * @depends testMultipleValuesCustomField
  */
 public function testSetAttributesWithPostForMultipleValuesCustomField()
 {
     $values = array('Automotive', 'Adult Entertainment', 'Financial Services', 'Mercenaries & Armaments');
     $industryFieldData = CustomFieldData::getByName('MultipleIndustries');
     $industryFieldData->defaultValue = $values[1];
     $industryFieldData->serializedData = serialize($values);
     $this->assertTrue($industryFieldData->save());
     $model = new TestCustomFieldsModel();
     $this->assertEquals(1, $model->multipleIndustries->values->count());
     $this->assertEquals($values[1], $model->multipleIndustries->values[0]->value);
     $this->assertTrue($model->validate());
     //Test populating with a single value
     $_FAKEPOST = array('multipleIndustries' => array('values' => array($values[2])));
     $model->setAttributes($_FAKEPOST);
     $this->assertEquals(1, $model->multipleIndustries->values->count());
     $this->assertEquals($values[2], $model->multipleIndustries->values[0]->value);
     $this->assertEquals('Financial Services', strval($model->multipleIndustries));
     //Now test populating more than one value
     $_FAKEPOST = array('multipleIndustries' => array('values' => array($values[1], $values[3])));
     $model->setAttributes($_FAKEPOST);
     $this->assertEquals(2, $model->multipleIndustries->values->count());
     $this->assertEquals($values[1], $model->multipleIndustries->values[0]->value);
     $this->assertEquals($values[3], $model->multipleIndustries->values[1]->value);
     $this->assertEquals('Adult Entertainment, Mercenaries & Armaments', strval($model->multipleIndustries));
     //Test clearing out the values
     $_FAKEPOST = array('multipleIndustries' => array('values' => array()));
     $model->setAttributes($_FAKEPOST);
     $this->assertEquals(0, $model->multipleIndustries->values->count());
     $this->assertEquals('(None)', strval($model->multipleIndustries));
 }