コード例 #1
0
ファイル: EntityTest.php プロジェクト: Nkelliny/Framework
 public function testSetOnce()
 {
     $page = new Page();
     $page->title = 'Initial title';
     $page->save();
     $id = $page->id;
     // Completely remove current instance
     EntityPool::getInstance()->remove($page);
     // Load fresh instance from database
     $page = Page::findById($id);
     // Disable update of 'title' attribute
     $page->getAttribute('title')->setOnce()->setValue('New title');
     $this->assertEquals('Initial title', $page->title);
     $page->populate(['title' => 'Some title']);
     $this->assertEquals('Initial title', $page->title);
     // Try populating a null value attribute
     $page->getAttribute('settings')->setOnce()->setValue([]);
     $this->assertEquals([], $page->settings->val());
     // Try updating an attribute that has a value already assigned to it
     $page->settings = [1, 2, 3];
     $this->assertEquals([], $page->settings->val());
     // Enable update of 'title' attribute
     $page->getAttribute('title')->setOnce(false)->setValue('New title');
     $this->assertEquals('New title', $page->title);
 }
コード例 #2
0
 public function testParentEntity()
 {
     // Create parent page
     $parentPage = new Page();
     $parentPage->title = 'Parent page';
     $parentPage->save();
     $page = self::$page;
     $page->parent = $parentPage;
     $page->save();
     $parentPage->parent = $page;
     $parentPage->save();
     /*$data = $page->toArray('*,labels');
             $this->assertArrayHasKey('title', $data);
             $this->assertArrayHasKey('author', $data);
             $this->assertArrayHasKey('name', $data['author']);
             $this->assertArrayHasKey('labels', $data);
             $this->assertArrayNotHasKey('comments', $data);
     
             $data = $page->toArray('title,comments.text,comments.id,labels');
             $this->assertArrayHasKey('comments', $data);
             $this->assertArrayHasKey('labels', $data);
             $this->assertArrayHasKey('label', $data['labels'][0]);
             $this->assertArrayNotHasKey('author', $data);*/
 }