Exemplo n.º 1
0
 function testCreatePlugin()
 {
     $plugin_dao = new MockPluginDao($this);
     $access_result = new MockDataAccessResult($this);
     $plugin_dao->setReturnReference('searchByName', $access_result);
     $access_result->setReturnValueAt(0, 'getRow', array('id' => 123, 'name' => 'plugin 123', 'available' => '1'));
     //existing plugin
     $access_result->setReturnValueAt(1, 'getRow', false);
     //new plugin
     $plugin_dao->setReturnValueAt(0, 'create', 125);
     //its id
     $plugin_dao->setReturnValueAt(0, 'create', false);
     //error
     $restrictor = mock('PluginResourceRestrictor');
     $pf = partial_mock('PluginFactory', array('_getClassNameForPluginName'), array($plugin_dao, $restrictor));
     $pf->setReturnValue('_getClassNameForPluginName', array('class' => 'Plugin', 'custom' => false));
     $this->assertFalse($pf->createPlugin('existing plugin'));
     $plugin = $pf->createPlugin('new plugin');
     $this->assertEqual($plugin->getId(), 125);
     $this->assertFalse($pf->createPlugin('error plugin creation'));
 }
Exemplo n.º 2
0
 function testCreatePlugin()
 {
     $plugin_dao = new MockPluginDao($this);
     $access_result = new MockDataAccessResult($this);
     $plugin_dao->setReturnReference('searchByName', $access_result);
     $access_result->setReturnValueAt(0, 'getRow', array('id' => 123, 'name' => 'plugin 123', 'available' => '1'));
     //existing plugin
     $access_result->setReturnValueAt(1, 'getRow', false);
     //new plugin
     $plugin_dao->setReturnValueAt(0, 'create', 125);
     //its id
     $plugin_dao->setReturnValueAt(0, 'create', false);
     //error
     $pf = new PluginFactoryTestVersion($this);
     $pf->setReturnValue('_getClassNameForPluginName', array('class' => 'Plugin', 'custom' => false));
     $pf->PluginFactory($plugin_dao);
     //Only for test. You should use singleton instead
     $this->assertFalse($pf->createPlugin('existing plugin'));
     $plugin = $pf->createPlugin('new plugin');
     $this->assertEqual($plugin->getId(), 125);
     $this->assertFalse($pf->createPlugin('error plugin creation'));
 }