示例#1
0
 /**
  * @covers ::add
  */
 public function testAdd()
 {
     $save = new Save();
     $models = [new Model(), new Model(), new Model(), new Model(), new Model(), new Model()];
     $link1 = new LinkOne($models[0], Model::getRepo()->getRel('one'), $models[1]);
     $link1->set($models[5]);
     $link2 = new LinkMany($models[1], Model::getRepo()->getRel('many'), [$models[2], $models[3]]);
     $link2->remove($models[3]);
     $link2->add($models[4]);
     Model::getRepo()->addLink($link1)->addLink($link2);
     $save->add($models[0]);
     $this->assertCount(count($models), $save);
     foreach ($models as $model) {
         $this->assertTrue($save->has($model));
     }
 }
示例#2
0
文件: One.php 项目: harp-orm/core
 public function update(LinkOne $link)
 {
     $link->getModel()->{$this->key} = $link->get()->getId();
 }
示例#3
0
 /**
  * @covers ::update
  */
 public function testNoUpdate()
 {
     $rel = $this->getMockForAbstractClass('Harp\\Core\\Rel\\AbstractRelOne', ['test', new Repo(__NAMESPACE__ . '\\Model'), new Repo(__NAMESPACE__ . '\\Model')]);
     $model = new Model();
     $link = new LinkOne($model, $rel, new Model());
     $models = new Models();
     $result = $link->update();
     $this->assertNull($result);
 }