public function testCollectionsEvents() { if (!class_exists('Mongo')) { $this->markTestSkipped("Mongo class does not exist, test skipped"); return; } Phalcon\DI::reset(); $di = new Phalcon\DI(); $di->set('mongo', function () { $mongo = new Mongo(); return $mongo->phalcon_test; }); $di->set('collectionManager', function () { return new Phalcon\Mvc\Collection\Manager(); }); $songs = Store\Songs::find(); $this->assertTrue(is_array($songs)); foreach ($songs as $song) { $this->assertTrue($song->delete()); } $trace = array(); $song = new Store\Songs(); $song->trace =& $trace; $song->artist = 'Radiohead'; $song->name = 'Lotus Flower'; $this->assertTrue($song->save()); $this->assertEquals($trace, array('Store\\Songs::beforeValidation' => 1, 'Store\\Songs::beforeValidationOnCreate' => 1, 'Store\\Songs::afterValidationOnCreate' => 1, 'Store\\Songs::afterValidation' => 1, 'Store\\Songs::beforeSave' => 1, 'Store\\Songs::beforeCreate' => 1, 'Store\\Songs::afterCreate' => 1, 'Store\\Songs::afterSave' => 1)); $this->assertTrue($song->save()); $this->assertEquals($trace, array('Store\\Songs::beforeValidation' => 2, 'Store\\Songs::beforeValidationOnCreate' => 1, 'Store\\Songs::afterValidationOnCreate' => 1, 'Store\\Songs::afterValidation' => 2, 'Store\\Songs::beforeSave' => 2, 'Store\\Songs::beforeCreate' => 1, 'Store\\Songs::afterCreate' => 1, 'Store\\Songs::afterSave' => 2, 'Store\\Songs::afterValidationOnUpdate' => 1, 'Store\\Songs::beforeUpdate' => 1, 'Store\\Songs::afterUpdate' => 1)); }
public function testCollectionsEvents() { if (!class_exists('Mongo')) { $this->markTestSkipped("Mongo class does not exist, test skipped"); return; } Phalcon\DI::reset(); $di = new Phalcon\DI(); $di->set('mongo', function () { $mongo = new MongoClient(); return $mongo->phalcon_test; }); $di->set('collectionManager', function () { return new Phalcon\Mvc\Collection\Manager(); }); $songs = Store\Songs::find(); $this->assertTrue(is_array($songs)); foreach ($songs as $song) { $this->assertTrue($song->delete()); } $trace = array(); $song = new Songs(); $song->artist = 'Radiohead'; $song->name = 'Lotus Flower'; $this->assertTrue($song->save()); $serialized = serialize($song); $song = unserialize($serialized); $this->assertEquals($song->artist, 'Radiohead'); $this->assertEquals($song->name, 'Lotus Flower'); $this->assertTrue($song->save()); $song = Songs::findFirst(); $serialized = serialize($song); $song = unserialize($serialized); $this->assertEquals($song->artist, 'Radiohead'); $this->assertEquals($song->name, 'Lotus Flower'); $this->assertTrue($song->save()); $song = new Songs(); $song->artist = 'Massive Attack'; $song->name = 'Paradise Circus'; $this->assertTrue($song->save()); $songs = Songs::find(); $this->assertEquals(count($songs), 2); $serialized = serialize($songs); $songs = unserialize($serialized); $this->assertEquals(count($songs), 2); }