[ Index ]

PHP Cross Reference of GlotPress

title

Body

[close]

/t/tests_things/ -> test_thing_project.php (source)

   1  <?php
   2  require_once( dirname( __FILE__ ) . '/../init.php');
   3  
   4  class GP_Test_Project extends GP_UnitTestCase {
   5  	function test_update_path() {
   6          $root = GP::$project->create( array( 'name' => 'Root', 'slug' => 'root', 'path' => 'root' ) );
   7          // the slug is changed
   8          $p1 = GP::$project->create( array( 'name' => 'P1', 'slug' => 'cool', 'path' => 'root/p1', 'parent_project_id' => $root->id ) );
   9          $p2 = GP::$project->create( array( 'name' => 'P2', 'slug' => 'p2', 'path' => 'root/p1/p2', 'parent_project_id' => $p1->id ) );
  10          $p3 = GP::$project->create( array( 'name' => 'P3', 'slug' => 'p3', 'path' => 'root/p1/p2/p3', 'parent_project_id' => $p2->id ) );
  11          $p1->update_path();
  12          $p1->reload();
  13          $p2->reload();
  14          $p3->reload();
  15          $this->assertEquals( 'root/cool', $p1->path);
  16          $this->assertEquals( 'root/cool/p2', $p2->path);
  17          $this->assertEquals( 'root/cool/p2/p3', $p3->path);
  18      }
  19  
  20  	function test_valid_path_on_create() {
  21          $root = GP::$project->create( array( 'name' => 'Root', 'slug' => 'root', 'path' => 'root' ) );
  22          $p1 = GP::$project->create( array( 'name' => 'P1', 'slug' => 'p1', 'parent_project_id' => $root->id ) );
  23          $q = GP::$project->create( array( 'name' => 'Invader', 'slug' => 'invader', 'path' => '' ) );
  24          $root->reload();
  25          $p1->reload();
  26          $q->reload();
  27          $this->assertEquals( 'root', $root->path );
  28          $this->assertEquals( 'root/p1', $p1->path );
  29          $this->assertEquals( 'invader', $q->path );
  30      }
  31  
  32  	function test_create_and_select() { 
  33          $project = new GP_Project( array( 'name' => '@@@@', 'slug' => '' ) ); 
  34          $verdict = $project->validate(); 
  35  
  36          $this->assertFalse( $verdict ); 
  37      } 
  38  
  39  	function test_save_no_args() {
  40          $p1 = GP::$project->create( array( 'name' => 'P1', 'slug' => 'p1', 'path' => 'p1', ) );
  41          $id = $p1->id;
  42          $p1->name = 'P2';
  43          $p1->save();
  44          $this->assertEquals( 'P2', $p1->name );
  45          $p1->reload();
  46          $this->assertEquals( 'P2', $p1->name );
  47          $this->assertEquals( 'P2', GP::$project->get( $id )->name );
  48      }
  49  
  50  	function test_reload() {
  51          global $gpdb;
  52          $root = GP::$project->create( array( 'name' => 'Root', 'slug' => 'root'  ) );
  53          $gpdb->update( $gpdb->projects, array( 'name' => 'Buuu' ), array( 'id' => $root->id ) );
  54          $root->reload();
  55          $this->assertEquals( 'Buuu', $root->name );
  56      }
  57  
  58  	function test_path_to_root() {
  59          $root = $this->factory->project->create( array( 'name' => 'Root' ) );
  60          $sub = $this->factory->project->create( array( 'name' => 'Sub', 'parent_project_id' => $root->id ) );
  61          $subsub = $this->factory->project->create( array( 'name' => 'SubSub', 'parent_project_id' => $sub->id ) );
  62          $this->assertEquals( array( $subsub, $sub, $root ), $subsub->path_to_root() );
  63          $this->assertEquals( array( $sub, $root ), $sub->path_to_root() );
  64          $this->assertEquals( array( $root ), $root->path_to_root() );
  65      }
  66  }


Generated: Wed Jun 19 03:59:59 2013 Hosted by follow the white rabbit.