X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fgabordemooij%2Fredbean%2Ftesting%2FRedUNIT%2FBase%2FVia.php;fp=vendor%2Fgabordemooij%2Fredbean%2Ftesting%2FRedUNIT%2FBase%2FVia.php;h=0000000000000000000000000000000000000000;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hp=73fbc68c800c66972de4233970caf16fbcb18214;hpb=aea91e65e895364e460983b890e295aa5d5540a5;p=yaffs-website diff --git a/vendor/gabordemooij/redbean/testing/RedUNIT/Base/Via.php b/vendor/gabordemooij/redbean/testing/RedUNIT/Base/Via.php deleted file mode 100644 index 73fbc68c8..000000000 --- a/vendor/gabordemooij/redbean/testing/RedUNIT/Base/Via.php +++ /dev/null @@ -1,330 +0,0 @@ -sharedPersonList[] = $fooPerson; - R::store($mediaBean); - asrt( count( $mediaBean->sharedPersonList ), 1 ); - $person = R::findOne('person'); - $person->via('relation')->sharedMarriageList[] = R::dispense('marriage'); - //this second one caused the via property to not get cleared - $person->via('relation')->sharedMarriageList; - asrt( count( $person->sharedMediaList ), 1 ); - //also found this scenario, non-existing property - $book = R::dispense('book'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('garbage')->nothing; - asrt( count( $book->sharedPageList ), 1 ); - //yet another - $book = R::dispense('magazine'); - $book->ownAdList[] = R::dispense('ad'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('garbage')->ownAdList; - asrt( count( $book->sharedPageList ), 1 ); - $book = R::dispense('folder'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('garbage')->sharedItemList[] = R::dispense('item'); - asrt( count( $book->sharedPageList ), 1 ); - $book = R::dispense('folder2'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('garbage')->sharedItemList[] = R::dispense('item'); - $book->via('garbage')->sharedItemList[] = R::dispense('item'); - asrt( count( $book->sharedPageList ), 1 ); - $book = R::dispense('folder3'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('garbage')->item = R::dispense('item'); - asrt( count( $book->sharedPageList ), 1 ); - $book = R::dispense('folder3'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('garbage')->item = 'test'; - asrt( count( $book->sharedPageList ), 1 ); - //yet another - $book = R::dispense('leaflet'); - $book->title = 'leaflet'; - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('garbage')->title; - asrt( count( $book->sharedPageList ), 1 ); - //yet another - $book = R::dispense('paper'); - $book->author = R::dispense('author'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('garbage')->author; - asrt( count( $book->sharedPageList ), 1 ); - $book = R::dispense('paper2'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('garbage')->author; - asrt( count( $book->sharedPageList ), 1 ); - //yet another one - $book = R::dispense('archive'); - $book->sharedItem[] = R::dispense('item'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - unset( $book->via('garbage')->sharedItem ); - asrt( count( $book->sharedPageList ), 1 ); - //theoretic cases - $book = R::dispense('guide'); - $book->sharedItem[] = R::dispense('item'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('relation')->countShared('item'); - $book->via('relation')->countShared('item'); - asrt( count( $book->sharedPageList ), 1 ); - $book = R::dispense('catalogue'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('relation')->countShared('item'); - $book->via('relation')->countShared('item'); - asrt( count( $book->sharedPageList ), 1 ); - $book = R::dispense('tabloid'); - $book->ownItemList[] = R::dispense('item'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('relation')->countOwn('item'); - $book->via('relation')->countOwn('item'); - asrt( count( $book->sharedPageList ), 1 ); - $book = R::dispense('booklet'); - $book->ownItemList[] = R::dispense('item'); - $book->sharedPage[] = R::dispense('page'); - R::store($book); - $book = $book->fresh(); - $book->via('relation')->countOwn('item'); - $book->via('relation')->countOwn('item'); - asrt( count( $book->sharedPageList ), 1 ); - AQueryWriter::clearRenames(); - } - - /** - * Via specific tests. - * - * @return void - */ - public function testViaAndSQL() - { - R::nuke(); - list($p1, $p2) = R::dispense('participant', 2); - list($e1, $e2) = R::dispense('employee', 2); - list($x1, $x2) = R::dispense('project', 2); - $e1->name = 'Anna'; - $e2->name = 'John'; - $p1->project = $x1; - $p1->employee = $e1; - $p1->arole = 'designer'; - $p2->project = $x1; - $p2->employee = $e2; - $p2->arole = 'coder'; - R::storeAll(array( $p1, $p2 )); - $project = R::load('project', $x1->id); - $designers = $project - ->withCondition(' participant.arole = ? ', array( 'designer' ) ) - ->via( 'participant' ) - ->sharedEmployeeList; - $anna = reset( $designers ); - asrt(count($designers), 1); - asrt($anna->name, 'Anna'); - $coders = $project - ->withCondition(' participant.arole = ? ', array( 'coder' ) ) - ->via( 'participant' ) - ->sharedEmployeeList; - $john = reset( $coders ); - asrt(count($coders), 1); - asrt($john->name, 'John'); - } - - /** - * Test Via and Link together. - * - * @return void - */ - public function testViaAndLink() - { - R::nuke(); - list( $John, $Anna, $Celine ) = R::dispense( 'employee', 3 ); - $John->badge = 'John'; - $Anna->badge = 'Anna'; - $Celine->badge = 'Celine'; - $project = R::dispense( 'project' ); - $project->name = 'x'; - $project2 = R::dispense( 'project' ); - $project2->name = 'y'; - $John->link( 'participant', array( - 'arole' => 'designer' - ) )->project = $project; - $Anna->link( 'participant', array( - 'arole' => 'developer' - ) )->project = $project; - $Celine->link( 'participant', array( - 'arole' => 'sales' - ) )->project = $project2; - $Anna->link('participant', array( - 'arole' => 'lead' - ) )->project = $project2; - R::storeAll( array( $project, $project2, $John, $Anna, $Celine ) ); - $employees = $project - ->with(' ORDER BY badge ASC ') - ->via( 'participant' ) - ->sharedEmployee; - asrt( is_array( $employees ), TRUE ); - asrt( count( $employees ), 2 ); - $badges = array(); - foreach( $employees as $employee ) { - $badges[] = $employee->badge; - } - asrt( implode( ',', $badges ), 'Anna,John' ); - $employees = $project2 - ->with(' ORDER BY badge ASC ') - ->via( 'participant' ) - ->sharedEmployee; - asrt( is_array( $employees ), TRUE ); - asrt( count( $employees ), 2 ); - $badges = array(); - foreach( $employees as $employee ) { - $badges[] = $employee->badge; - } - asrt( implode( ',', $badges ), 'Anna,Celine' ); - $projects = $John->sharedProject; - asrt( is_array( $projects ), TRUE ); - asrt( count( $projects ), 1 ); - $projectList = array(); - foreach( $projects as $project ) { - $projectList[] = $project->name; - } - sort( $projectList ); - asrt( implode( ',', $projectList ), 'x' ); - $projects = $Anna->sharedProject; - asrt( is_array( $projects ), TRUE ); - asrt( count( $projects ), 2 ); - $projectList = array(); - foreach( $projects as $project ) { - $projectList[] = $project->name; - } - sort( $projectList ); - asrt( implode( ',', $projectList ), 'x,y' ); - $projects = $Anna->via( 'participant' )->sharedProject; - asrt( is_array( $projects ), TRUE ); - asrt( count( $projects ), 2 ); - $projectList = array(); - foreach( $projects as $project ) { - $projectList[] = $project->name; - } - sort( $projectList ); - asrt( implode( ',', $projectList ), 'x,y' ); - $projects = $Celine->via( 'participant' )->sharedProject; - asrt( is_array( $projects ), TRUE ); - asrt( count( $projects ), 1 ); - $projectList = array(); - foreach( $projects as $project ) { - $projectList[] = $project->name; - } - sort( $projectList ); - asrt( implode( ',', $projectList ), 'y' ); - $roles = $Anna->ownParticipant; - asrt( is_array( $roles ), TRUE ); - asrt( count( $roles ), 2 ); - $roleList = array(); - foreach( $roles as $role ) { - $roleList[] = $role->arole; - } - sort( $roleList ); - asrt( implode( ',', $roleList ), 'developer,lead' ); - $project2->sharedEmployee[] = $John; - R::store( $project2 ); - $projects = $John->sharedProject; - asrt( is_array( $projects ), TRUE ); - asrt( count( $projects ), 2 ); - $projectList = array(); - foreach( $projects as $project ) { - $projectList[] = $project->name; - } - sort( $projectList ); - asrt( implode( ',', $projectList ), 'x,y' ); - $projects = $John->via( 'participant' )->sharedProject; - asrt( is_array( $projects ), TRUE ); - asrt( count( $projects ), 2 ); - $projectList = array(); - foreach( $projects as $project ) { - $projectList[] = $project->name; - } - sort( $projectList ); - asrt( implode( ',', $projectList ), 'x,y' ); - } - - /** - * Test effect of via on shared list removal of beans. - * - * @return void - */ - public function testViaAndRemove() - { - R::nuke(); - $project = R::dispense( 'project' ); - $employees = R::dispense( 'employee', 2); - $project->via( 'partcipant' )->sharedEmployeeList = $employees; - R::store( $project ); - asrt( R::count('employee'), 2 ); - asrt( R::count('participant'), 2 ); - $project = $project->fresh(); - $project->sharedEmployee = array(); - R::store( $project ); - asrt( R::count( 'employee' ), 2 ); - asrt( R::count( 'participant' ), 0 ); - } -}