Exemplo n.º 1
0
 /**
  * @covers ::addLink
  * @covers ::loadLink
  */
 public function testAddLink()
 {
     $model = new Model();
     $foreign = new Model();
     $link = new LinkOne($model, Model::getRepo()->getRel('one'), $foreign);
     Model::getRepo()->addLink($link);
     $this->assertSame($link, Model::getRepo()->loadLink($model, 'one'));
 }
Exemplo n.º 2
0
 public static function initialize(AbstractRepo $repo)
 {
     SoftDeleteTrait::initialize($repo);
     $repo->addRels([new RelOne('one', $repo, Model::getRepo()), new RelMany('many', $repo, Model::getRepo())]);
 }
Exemplo n.º 3
0
 /**
  * @covers ::loadCount
  */
 public function testLoadCount()
 {
     $find = $this->getMock(__NAMESPACE__ . '\\Find', ['loadRaw'], [Model::getRepo()]);
     $models = [new Model(['id' => 4]), new Model(['id' => 98]), new Model(['id' => 100])];
     $find->expects($this->once())->method('loadRaw')->will($this->returnValue($models));
     $result = $find->loadCount();
     $this->assertEquals(3, $result);
 }
Exemplo n.º 4
0
 /**
  * @dataProvider dataRelModifiers
  * @covers ::addFromDeleteRels
  * @covers ::addFromInsertRels
  * @covers ::addFromUpdateRels
  */
 public function testRelModifiers($method, $trigger)
 {
     $save = new Save();
     $model1 = new Model();
     $model2 = new Model();
     $model3 = new Model();
     $model4 = new Model();
     $model5 = new Model();
     $rel1 = $this->getMock(__NAMESPACE__ . '\\RelOne', [$method], ['test', Model::getRepo(), Model::getRepo()]);
     $rel2 = Model::getRepo()->getRel('one');
     $link1 = new LinkOne($model1, $rel1, $model3);
     $link2 = new LinkOne($model2, $rel2, $model4);
     Model::getRepo()->addRels([$rel1])->addLink($link1)->addLink($link2);
     $save->add($model1);
     $rel1->expects($this->once())->method($method)->with($this->identicalTo($link1))->will($this->returnValue(new Models([$model5])));
     $this->assertFalse($save->has($model5));
     $save->{$trigger}();
     $this->assertTrue($save->has($model5));
 }