From 83abced287feba5e94551a82657b9143fe82cecd Mon Sep 17 00:00:00 2001 From: mark_story Date: Sat, 29 Dec 2012 11:57:52 -0500 Subject: [PATCH] Add tests for save() and multiple locales. Refs #3498 --- .../Model/Behavior/TranslateBehaviorTest.php | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/lib/Cake/Test/Case/Model/Behavior/TranslateBehaviorTest.php b/lib/Cake/Test/Case/Model/Behavior/TranslateBehaviorTest.php index 50d897d60fc..0a4bf9e15cc 100644 --- a/lib/Cake/Test/Case/Model/Behavior/TranslateBehaviorTest.php +++ b/lib/Cake/Test/Case/Model/Behavior/TranslateBehaviorTest.php @@ -530,6 +530,44 @@ public function testSaveCreate() { $this->assertEquals($expected, $result); } +/** + * test save multiple locales method + * + * @return void + */ + public function testSaveMultipleLocales() { + $this->loadFixtures('Translate', 'TranslatedItem'); + + $TestModel = new TranslatedItem(); + $data = array( + 'slug' => 'fourth_translated', + 'title' => array( + 'eng' => 'Title #4', + 'spa' => 'Leyenda #4', + ), + 'content' => array( + 'eng' => 'Content #4', + 'spa' => 'Contenido #4', + ), + 'translated_article_id' => 1, + ); + $TestModel->create(); + $TestModel->save($data); + + $translations = array('title' => 'Title', 'content' => 'Content'); + $TestModel->bindTranslation($translations, false); + $TestModel->locale = array('eng', 'spa'); + $result = $TestModel->read(); + + $this->assertCount(2, $result['Title']); + $this->assertEquals($result['Title'][0]['locale'], 'eng'); + $this->assertEquals($result['Title'][0]['content'], 'Title #4'); + $this->assertEquals($result['Title'][1]['locale'], 'spa'); + $this->assertEquals($result['Title'][1]['content'], 'Leyenda #4'); + + $this->assertCount(2, $result['Content']); + } + /** * testSaveAssociatedCreate method *