Exemplo n.º 1
0
 public function _executeTestsNormal($di)
 {
     //Normal foreign keys
     $robotsParts = new RobotsParts();
     $robotsParts->robots_id = 1;
     $robotsParts->parts_id = 100;
     $this->assertFalse($robotsParts->save());
     $messages = array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => 'ConstraintViolation', '_message' => 'Value of field "parts_id" does not exist on referenced table', '_field' => 'parts_id')));
     $this->assertEquals($robotsParts->getMessages(), $messages);
     $robotsParts->robots_id = 100;
     $robotsParts->parts_id = 1;
     $this->assertFalse($robotsParts->save());
     $messages = array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => 'ConstraintViolation', '_message' => 'The robot code does not exist', '_field' => 'robots_id')));
     $this->assertEquals($robotsParts->getMessages(), $messages);
     //Reverse foreign keys
     $robot = Robots::findFirst();
     $this->assertNotEquals($robot, false);
     $this->assertFalse($robot->delete());
     $messages = array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => 'ConstraintViolation', '_message' => 'Record is referenced by model RobotsParts', '_field' => 'id')));
     $this->assertEquals($robot->getMessages(), $messages);
     $part = Parts::findFirst();
     $this->assertNotEquals($part, false);
     $this->assertFalse($part->delete());
     $messages = array(0 => Phalcon\Mvc\Model\Message::__set_state(array('_type' => 'ConstraintViolation', '_message' => 'Parts cannot be deleted because is referenced by a Robot', '_field' => 'id')));
     $this->assertEquals($part->getMessages(), $messages);
 }