|
2 | 2 | namespace JeremyHarris\LazyLoad\Test\TestCase\ORM;
|
3 | 3 |
|
4 | 4 | use Cake\Datasource\EntityInterface;
|
| 5 | +use Cake\ORM\Entity; |
5 | 6 | use Cake\ORM\TableRegistry;
|
6 | 7 | use Cake\TestSuite\TestCase;
|
7 | 8 | use JeremyHarris\LazyLoad\TestApp\Model\Entity\Comment;
|
8 | 9 | use JeremyHarris\LazyLoad\TestApp\Model\Entity\LazyLoadableEntity;
|
9 | 10 | use JeremyHarris\LazyLoad\TestApp\Model\Entity\TablelessEntity;
|
10 | 11 | use JeremyHarris\LazyLoad\TestApp\Model\Entity\User;
|
| 12 | +use JeremyHarris\LazyLoad\TestApp\Model\Table\ArticlesTable; |
11 | 13 |
|
12 | 14 | /**
|
13 | 15 | * LazyLoadEntityTrait test
|
| 16 | + * @property ArticlesTable $Articles |
14 | 17 | */
|
15 | 18 | class LazyLoadEntityTraitTest extends TestCase
|
16 | 19 | {
|
@@ -384,4 +387,32 @@ public function testDuplicateTrait()
|
384 | 387 | $user = $this->Users->get(1);
|
385 | 388 | $this->assertTrue($user->has('comments'));
|
386 | 389 | }
|
| 390 | + |
| 391 | + /** |
| 392 | + * @return void |
| 393 | + */ |
| 394 | + public function testByRefArrayFunctionsWorkOnNormalCakeEntities() |
| 395 | + { |
| 396 | + $this->Articles->setEntityClass(Entity::class); |
| 397 | + |
| 398 | + $article = $this->Articles->get(1, ['contain' => ['Tags']]); |
| 399 | + $newTag = new Entity(); |
| 400 | + |
| 401 | + $this->assertCount(2, $article->tags); |
| 402 | + array_unshift($article->tags, $newTag); |
| 403 | + $this->assertCount(3, $article->tags); |
| 404 | + } |
| 405 | + |
| 406 | + /** |
| 407 | + * @return void |
| 408 | + */ |
| 409 | + public function testByRefArrayFunctionsWorkOnLazyLoadCakeEntities() |
| 410 | + { |
| 411 | + $article = $this->Articles->get(1, ['contain' => ['Tags']]); |
| 412 | + $newTag = new Entity(); |
| 413 | + |
| 414 | + $this->assertCount(2, $article->tags); |
| 415 | + array_unshift($article->tags, $newTag); |
| 416 | + $this->assertCount(3, $article->tags); |
| 417 | + } |
387 | 418 | }
|
0 commit comments