mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
comp mod for saveAll()
better approach test case to assert saveAll still behaves like previous versions
This commit is contained in:
parent
2e15689d19
commit
1e2ac0b9c8
2 changed files with 28 additions and 2 deletions
|
@ -2017,7 +2017,7 @@ class Model extends Object implements CakeEventListener {
|
|||
* @link http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-saveassociated-array-data-null-array-options-array
|
||||
* @link http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-saveall-array-data-null-array-options-array
|
||||
*/
|
||||
public function saveAll($data, $options = array()) {
|
||||
public function saveAll($data = array(), $options = array()) {
|
||||
$options = array_merge(array('validate' => 'first'), $options);
|
||||
if (Hash::numeric(array_keys($data))) {
|
||||
if ($options['validate'] === 'only') {
|
||||
|
|
|
@ -4725,6 +4725,32 @@ class ModelWriteTest extends BaseModelTest {
|
|||
$this->assertEquals($expected, $TestModel->Comment->validationErrors);
|
||||
}
|
||||
|
||||
/**
|
||||
* test that saveAll still behaves like previous versions (does not necessarily need a first argument)
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testSaveAllWithSet() {
|
||||
$this->loadFixtures('Article', 'Tag', 'Comment', 'User', 'ArticlesTag');
|
||||
$data = array(
|
||||
'Article' => array(
|
||||
'user_id' => 1,
|
||||
'title' => 'Article Has and belongs to Many Tags'
|
||||
),
|
||||
'Tag' => array(
|
||||
'Tag' => array(1, 2)
|
||||
),
|
||||
'Comment' => array(
|
||||
array(
|
||||
'comment' => 'Article comment',
|
||||
'user_id' => 1
|
||||
)));
|
||||
$Article = new Article();
|
||||
$Article->set($data);
|
||||
$result = $Article->saveAll();
|
||||
$this->assertFalse(empty($result));
|
||||
}
|
||||
|
||||
/**
|
||||
* test that saveAll behaves like plain save() when supplied empty data
|
||||
*
|
||||
|
@ -4740,7 +4766,7 @@ class ModelWriteTest extends BaseModelTest {
|
|||
$this->assertFalse(empty($result));
|
||||
|
||||
$model = new ProductUpdateAll();
|
||||
$result = $model->saveAll(array());
|
||||
$result = $model->saveAll();
|
||||
$this->assertFalse($result);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue