mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-08 17:07:33 +08:00
Unit tests for Mongo updated to check nested columns.
This commit is contained in:
@ -218,4 +218,30 @@ class ActiveRecordTest extends MongoTestCase
|
|||||||
$refreshedRecord = Customer::find($record->_id);
|
$refreshedRecord = Customer::find($record->_id);
|
||||||
$this->assertEquals($originalCounter + $counterIncrement, $refreshedRecord->status);
|
$this->assertEquals($originalCounter + $counterIncrement, $refreshedRecord->status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @depends testUpdate
|
||||||
|
*/
|
||||||
|
public function testUpdateNestedAttribute()
|
||||||
|
{
|
||||||
|
$record = new Customer;
|
||||||
|
$record->name = 'new name';
|
||||||
|
$record->email = 'new email';
|
||||||
|
$record->address = [
|
||||||
|
'city' => 'SomeCity',
|
||||||
|
'street' => 'SomeStreet',
|
||||||
|
];
|
||||||
|
$record->status = 7;
|
||||||
|
$record->save();
|
||||||
|
|
||||||
|
// save
|
||||||
|
$record = Customer::find($record->_id);
|
||||||
|
$newAddress = [
|
||||||
|
'city' => 'AnotherCity'
|
||||||
|
];
|
||||||
|
$record->address = $newAddress;
|
||||||
|
$record->save();
|
||||||
|
$record2 = Customer::find($record->_id);
|
||||||
|
$this->assertEquals($newAddress, $record2->address);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -32,6 +32,11 @@ class QueryRunTest extends MongoTestCase
|
|||||||
$rows[] = [
|
$rows[] = [
|
||||||
'name' => 'name' . $i,
|
'name' => 'name' . $i,
|
||||||
'address' => 'address' . $i,
|
'address' => 'address' . $i,
|
||||||
|
'avatar' => [
|
||||||
|
'width' => 50 + $i,
|
||||||
|
'height' => 100 + $i,
|
||||||
|
'url' => 'http://some.url/' . $i,
|
||||||
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
$collection->batchInsert($rows);
|
$collection->batchInsert($rows);
|
||||||
@ -99,11 +104,18 @@ class QueryRunTest extends MongoTestCase
|
|||||||
public function testOrder()
|
public function testOrder()
|
||||||
{
|
{
|
||||||
$connection = $this->getConnection();
|
$connection = $this->getConnection();
|
||||||
|
|
||||||
$query = new Query;
|
$query = new Query;
|
||||||
$rows = $query->from('customer')
|
$rows = $query->from('customer')
|
||||||
->orderBy(['name' => SORT_DESC])
|
->orderBy(['name' => SORT_DESC])
|
||||||
->all($connection);
|
->all($connection);
|
||||||
$this->assertEquals('name9', $rows[0]['name']);
|
$this->assertEquals('name9', $rows[0]['name']);
|
||||||
|
|
||||||
|
$query = new Query;
|
||||||
|
$rows = $query->from('customer')
|
||||||
|
->orderBy(['avatar.height' => SORT_DESC])
|
||||||
|
->all($connection);
|
||||||
|
$this->assertEquals('name10', $rows[0]['name']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testMatchPlainId()
|
public function testMatchPlainId()
|
||||||
|
|||||||
Reference in New Issue
Block a user