You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.5 KiB
65 lines
1.5 KiB
11 years ago
|
<?php
|
||
|
|
||
|
namespace yiiunit\extensions\mongo;
|
||
|
|
||
|
use yii\mongo\Query;
|
||
|
|
||
|
/**
|
||
|
* @group mongo
|
||
|
*/
|
||
|
class QueryTest extends MongoTestCase
|
||
|
{
|
||
|
public function testSelect()
|
||
|
{
|
||
|
// default
|
||
|
$query = new Query;
|
||
|
$select = [];
|
||
|
$query->select($select);
|
||
|
$this->assertEquals($select, $query->select);
|
||
|
|
||
|
$query = new Query;
|
||
|
$select = ['name', 'something'];
|
||
|
$query->select($select);
|
||
|
$this->assertEquals($select, $query->select);
|
||
|
}
|
||
|
|
||
|
public function testFrom()
|
||
|
{
|
||
|
$query = new Query;
|
||
|
$from = 'customer';
|
||
|
$query->from($from);
|
||
|
$this->assertEquals($from, $query->from);
|
||
|
|
||
|
$query = new Query;
|
||
|
$from = ['', 'customer'];
|
||
|
$query->from($from);
|
||
|
$this->assertEquals($from, $query->from);
|
||
|
}
|
||
|
|
||
|
public function testOrder()
|
||
|
{
|
||
|
$query = new Query;
|
||
|
$query->orderBy('team');
|
||
|
$this->assertEquals(['team' => SORT_ASC], $query->orderBy);
|
||
|
|
||
|
$query->addOrderBy('company');
|
||
|
$this->assertEquals(['team' => SORT_ASC, 'company' => SORT_ASC], $query->orderBy);
|
||
|
|
||
|
$query->addOrderBy('age');
|
||
|
$this->assertEquals(['team' => SORT_ASC, 'company' => SORT_ASC, 'age' => SORT_ASC], $query->orderBy);
|
||
|
|
||
|
$query->addOrderBy(['age' => SORT_DESC]);
|
||
|
$this->assertEquals(['team' => SORT_ASC, 'company' => SORT_ASC, 'age' => SORT_DESC], $query->orderBy);
|
||
|
|
||
|
$query->addOrderBy('age ASC, company DESC');
|
||
|
$this->assertEquals(['team' => SORT_ASC, 'company' => SORT_DESC, 'age' => SORT_ASC], $query->orderBy);
|
||
|
}
|
||
|
|
||
|
public function testLimitOffset()
|
||
|
{
|
||
|
$query = new Query;
|
||
|
$query->limit(10)->offset(5);
|
||
|
$this->assertEquals(10, $query->limit);
|
||
|
$this->assertEquals(5, $query->offset);
|
||
|
}
|
||
|
}
|