mirror of
https://gitlab.com/hashborgir/d2tools.git
synced 2025-10-18 10:54:23 -05:00
Begin Refactor
This commit is contained in:
104
vendor/gabordemooij/redbean/testing/RedUNIT/Base/Frozen.php
vendored
Normal file
104
vendor/gabordemooij/redbean/testing/RedUNIT/Base/Frozen.php
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
namespace RedUNIT\Base;
|
||||
|
||||
use RedUNIT\Base as Base;
|
||||
use RedBeanPHP\Facade as R;
|
||||
use RedBeanPHP\RedException as RedException;
|
||||
use RedBeanPHP\OODBBean as OODBBean;
|
||||
|
||||
/**
|
||||
* Frozen
|
||||
*
|
||||
* Frozen mode tests
|
||||
* When I split the repositories in frozen and fluid I discovered some missed
|
||||
* code-paths in the tests.
|
||||
* These tests are here to make sure the following scenarios work properly
|
||||
* in frozen mode as well.
|
||||
*
|
||||
* @file RedUNIT/Base/Frozen.php
|
||||
* @desc Test some scenarios we haven't covered for frozen mode.
|
||||
* @author Gabor de Mooij and the RedBeanPHP Community
|
||||
* @license New BSD/GPLv2
|
||||
*
|
||||
* (c) G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community.
|
||||
* This source file is subject to the New BSD/GPLv2 License that is bundled
|
||||
* with this source code in the file license.txt.
|
||||
*/
|
||||
class Frozen extends Base
|
||||
{
|
||||
/**
|
||||
* Tests the handling of trashed beans in frozen mode.
|
||||
* Are the lists unset etc?
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testTrash()
|
||||
{
|
||||
R::nuke();
|
||||
$book = R::dispense( 'book' );
|
||||
$book->xownPageList[] = R::dispense( 'page' );
|
||||
$book->sharedTagList[] = R::dispense( 'tag' );
|
||||
R::store( $book );
|
||||
$book = $book->fresh();
|
||||
R::freeze( TRUE );
|
||||
$book->xownPageList = array();
|
||||
R::store( $book );
|
||||
$book = $book->fresh();
|
||||
asrt( R::count('page'), 0 );
|
||||
$book->xownPageList[] = R::dispense( 'page' );
|
||||
R::store( $book );
|
||||
$book = $book->fresh();
|
||||
asrt( R::count('page'), 1 );
|
||||
$book->xownPageList;
|
||||
$book->sharedTagList;
|
||||
R::trash( $book );
|
||||
asrt( R::count('book'), 0 );
|
||||
asrt( R::count('page'), 0 );
|
||||
asrt( R::count('tag'), 1 );
|
||||
asrt( R::count('book_tag'), 0 );
|
||||
R::freeze( FALSE );
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests whether invalid list checks are
|
||||
* operational in frozen mode.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testInvalidList()
|
||||
{
|
||||
R::nuke();
|
||||
$book = R::dispense( 'book' );
|
||||
$book->xownPageList[] = R::dispense( 'page' );
|
||||
$book->sharedTagList[] = R::dispense( 'tag' );
|
||||
R::store( $book );
|
||||
R::freeze( TRUE );
|
||||
$book = R::dispense( 'book' );
|
||||
$book->xownPageList[] = 'nonsense';
|
||||
try {
|
||||
R::store( $book );
|
||||
fail();
|
||||
} catch( \Exception $e ) {
|
||||
pass();
|
||||
}
|
||||
R::freeze( FALSE );
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests whether loading non-existant beans
|
||||
* returns the same results in frozen mode.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public function testLoadNonExistant()
|
||||
{
|
||||
R::nuke();
|
||||
R::store( R::dispense( 'bean' ) );
|
||||
R::freeze( TRUE );
|
||||
$bean = R::load( 'bean', 123 );
|
||||
R::freeze( FALSE );
|
||||
asrt( ( $bean instanceof OODBBean ), TRUE );
|
||||
asrt( $bean->id, 0 );
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user