Пример #1
0
 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);
 }
Пример #2
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);
 }