public function _testInsertRenamedExecute($di) { $manager = $di->getShared('modelsManager'); $di->getShared('db')->delete("subscriptores"); /** * This test must fail because the email is not allowed as a model business rule */ $status = $manager->executeQuery('INSERT INTO Abonnes VALUES (NULL, "*****@*****.**", "2011-01-01 09:01:01", "P")'); $this->assertFalse($status->success()); $this->assertEquals($status->getMessages(), array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => NULL, '_message' => 'Désolé Marina, mais vous n\'êtes pas autorisé ici', '_field' => NULL, '_code' => 0)))); /** * This test must fail because the email is invalid */ $status = $manager->executeQuery('INSERT INTO Abonnes VALUES (NULL, "dtmail.com", "2011-01-01 09:01:01", "P")'); $this->assertFalse($status->success()); $this->assertEquals($status->getMessages(), array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => 'Email', '_message' => "Le courrier électronique est invalide", '_field' => 'courrierElectronique', '_code' => 0)))); /** * This test must pass */ $status = $manager->executeQuery('INSERT INTO Abonnes VALUES (NULL, "*****@*****.**", "2011-01-01 09:01:01", "P")'); $this->assertTrue($status->success()); /** * This test must pass */ $status = $manager->executeQuery('INSERT INTO Abonnes VALUES (NULL, "*****@*****.**", "2010-01-01 13:21:00", "P")'); $this->assertTrue($status->success()); /** * This test must pass */ $status = $manager->executeQuery('INSERT INTO Abonnes (courrierElectronique, creeA, statut) VALUES ("*****@*****.**", "2010-01-01 13:21:00", "P")'); $this->assertTrue($status->success()); $status = $manager->executeQuery('INSERT INTO Abonnes (courrierElectronique, creeA, statut) VALUES (:courrierElectronique:, :creeA:, :statut:)', array("courrierElectronique" => "*****@*****.**", "creeA" => "2010-02-01 13:21:00", "statut" => "P")); $this->assertTrue($status->success()); $this->assertTrue($status->getModel()->code > 0); }
public function _executeTestsRenamed($di) { //Normal foreign keys with column renaming $robottersDeles = new RobottersDeles(); $robottersDeles->robottersCode = 1; $robottersDeles->delesCode = 100; $this->assertFalse($robottersDeles->save()); $messages = array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => 'ConstraintViolation', '_message' => 'Value of field "delesCode" does not exist on referenced table', '_field' => 'delesCode'))); $this->assertEquals($robottersDeles->getMessages(), $messages); $robottersDeles->robottersCode = 100; $robottersDeles->delesCode = 1; $this->assertFalse($robottersDeles->save()); $messages = array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => 'ConstraintViolation', '_message' => 'The robotters code does not exist', '_field' => 'robottersCode'))); $this->assertEquals($robottersDeles->getMessages(), $messages); //Reverse foreign keys with renaming $robotter = Robotters::findFirst(); $this->assertNotEquals($robotter, false); $this->assertFalse($robotter->delete()); $messages = array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => 'ConstraintViolation', '_message' => 'Record is referenced by model RobottersDeles', '_field' => 'code'))); $this->assertEquals($robotter->getMessages(), $messages); $dele = Deles::findFirst(); $this->assertNotEquals($dele, false); $this->assertFalse($dele->delete()); $messages = array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => 'ConstraintViolation', '_message' => 'Deles cannot be deleted because is referenced by a Robotter', '_field' => 'code'))); $this->assertEquals($dele->getMessages(), $messages); }