RedUNIT\Base\Cross::testAggrBasic PHP Метод

testAggrBasic() публичный Метод

Test aggr without the aliasing.
public testAggrBasic ( ) : void
Результат void
    public function testAggrBasic()
    {
        R::nuke();
        $book = R::dispense('book');
        $page1 = R::dispense('page');
        $page1->name = 'Page 1';
        $text1 = R::dispense('text');
        $text1->content = 'Text 1';
        $page1->text = $text1;
        $book->xownPageList[] = $page1;
        $page2 = R::dispense('page');
        $page2->name = 'Page 2';
        $text2 = R::dispense('text');
        $text2->content = 'Text 2';
        $page2->text = $text2;
        $book->xownPageList[] = $page2;
        R::store($book);
        $book = $book->fresh();
        $texts = $book->aggr('ownPageList', 'text');
        R::nuke();
        asrt(count($texts), 2);
        foreach ($texts as $text) {
            asrt($text instanceof OODBBean, TRUE);
        }
        $pages = $book->ownPageList;
        asrt(count($pages), 2);
        asrt(R::count('page'), 0);
        foreach ($pages as $page) {
            asrt($page instanceof OODBBean, TRUE);
            $text = $page->text;
            asrt($text instanceof OODBBean, TRUE);
            $text->content = 'CHANGED';
        }
        foreach ($texts as $text) {
            asrt($text->content, 'CHANGED');
        }
    }