public function testRebuildWithMultipleScopes()
 {
     MultiScopedCategory::query()->delete();
     $root1 = MultiScopedCategory::create(array('name' => 'TL1', 'company_id' => 1, 'language' => 'en'));
     $child11 = MultiScopedCategory::create(array('name' => 'C11', 'company_id' => 1, 'language' => 'en'));
     $child12 = MultiScopedCategory::create(array('name' => 'C12', 'company_id' => 1, 'language' => 'en'));
     $child11->makeChildOf($root1);
     $child12->makeChildOf($root1);
     $root2 = MultiScopedCategory::create(array('name' => 'TL2', 'company_id' => 2, 'language' => 'en'));
     $child21 = MultiScopedCategory::create(array('name' => 'C21', 'company_id' => 2, 'language' => 'en'));
     $child22 = MultiScopedCategory::create(array('name' => 'C22', 'company_id' => 2, 'language' => 'en'));
     $child21->makeChildOf($root2);
     $child22->makeChildOf($root2);
     $this->assertTrue(MultiScopedCategory::isValidNestedSet());
     $tree = MultiScopedCategory::query()->orderBy($root1->getKeyName())->get()->all();
     MultiScopedCategory::query()->update(array('lft' => null, 'rgt' => null));
     MultiScopedCategory::rebuild();
     $this->assertTrue(MultiScopedCategory::isValidNestedSet());
     $this->assertEquals($tree, MultiScopedCategory::query()->orderBy($root1->getKeyName())->get()->all());
 }