Ejemplo n.º 1
0
 /**
  * Method to test create().
  *
  * @return void
  *
  * @covers Windwalker\DataMapper\AbstractDataMapper::create
  */
 public function testCreate()
 {
     // Create from array
     $dataset = array(array('title' => 'Sakura'), array('title' => 'Peony'), array('title' => 'Sunflower', 'anim' => 'bird'));
     $returns = $this->instance->create($dataset);
     $newDataset = $this->loadToDataset('SELECT * FROM ww_flower ORDER BY id DESC LIMIT 3');
     $this->assertEquals(array('Sunflower', 'Peony', 'Sakura'), $newDataset->title);
     $this->assertEquals(86, $returns[0]->id, 'Inserted id not matched.');
     $this->assertInstanceOf('Windwalker\\Data\\Data', $returns[0], 'Return not Data object.');
     // Create from DataSet
     $dataset = new DataSet(array(new Data(array('title' => 'Sakura2')), new Data(array('title' => 'Peony2')), new Data(array('title' => 'Sunflower2'))));
     $returns = $this->instance->create($dataset);
     $newDataset = $this->loadToDataset('SELECT * FROM ww_flower ORDER BY id DESC LIMIT 3');
     $this->assertEquals(array('Sunflower2', 'Peony2', 'Sakura2'), $newDataset->title);
     $this->assertEquals(89, $returns[0]->id, 'Inserted id not matched.');
     $this->assertInstanceOf('Windwalker\\Data\\Data', $returns[0], 'Return not Data object.');
 }
 /**
  * Create records by data set.
  *
  * @param mixed $dataset The data set contains data we want to store.
  *
  * @throws \UnexpectedValueException
  * @throws \InvalidArgumentException
  * @return  mixed|DataSet  Data set data with inserted id.
  */
 public function create($dataset)
 {
     $this->observers->update('onBeforeCreate', array(&$dataset));
     $dataset = parent::create($dataset);
     $this->observers->update('onAfterCreate', array(&$dataset));
     return $dataset;
 }