Ejemplo n.º 1
0
 /**
  * testTranslateModel method
  *
  * @access public
  * @return void
  */
 function testTranslateModel()
 {
     $TestModel = new Tag();
     $TestModel->translateTable = 'another_i18n';
     $TestModel->Behaviors->attach('Translate', array('title'));
     $this->assertEqual($TestModel->translateModel()->name, 'I18nModel');
     $this->assertEqual($TestModel->translateModel()->useTable, 'another_i18n');
     $TestModel = new User();
     $TestModel->Behaviors->attach('Translate', array('title'));
     $this->assertEqual($TestModel->translateModel()->name, 'I18nModel');
     $this->assertEqual($TestModel->translateModel()->useTable, 'i18n');
     $TestModel = new TranslatedArticle();
     $this->assertEqual($TestModel->translateModel()->name, 'TranslateArticleModel');
     $this->assertEqual($TestModel->translateModel()->useTable, 'article_i18n');
     $TestModel = new TranslatedItem();
     $this->assertEqual($TestModel->translateModel()->name, 'TranslateTestModel');
     $this->assertEqual($TestModel->translateModel()->useTable, 'i18n');
 }
 /**
  * Test that additional records are not inserted for associated translations.
  *
  * @return void
  */
 public function testNoExtraRowsForAssociatedTranslations()
 {
     $this->loadFixtures('Translate', 'TranslatedItem');
     $TestModel = new TranslatedItem();
     $TestModel->locale = 'spa';
     $TestModel->unbindTranslation();
     $TestModel->bindTranslation(array('name' => 'nameTranslate'));
     $data = array('TranslatedItem' => array('slug' => 'spanish-name', 'name' => 'Spanish name'));
     $TestModel->create($data);
     $TestModel->save();
     $Translate = $TestModel->translateModel();
     $results = $Translate->find('all', array('conditions' => array('locale' => $TestModel->locale, 'foreign_key' => $TestModel->id)));
     $this->assertCount(1, $results, 'Only one field should be saved');
     $this->assertEquals('name', $results[0]['TranslateTestModel']['field']);
 }