/** * @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)); } }
public function update(LinkOne $link) { $link->getModel()->{$this->key} = $link->get()->getId(); }
/** * @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); }