public function testCreatePost() { $model = new Post(['titleLang' => 'test for the create new post', 'description' => 'description for the create new post']); $this->assertTrue($model->save(false)); $dataSet = $this->getConnection()->createDataSet(['post', 'post_lang']); $expectedDataSet = $this->createFlatXMLDataSet(__DIR__ . '/data/testCreatePost.xml'); $this->assertDataSetsEqual($expectedDataSet, $dataSet); }
public function testCreatePostAddTagValuesAsArray() { $post = new Post(['title' => 'New post title', 'body' => 'New post body']); $post->addTagValues(['tag 4', 'tag 4', 'tag 5', '', 'tag 6']); $this->assertTrue($post->save()); $dataSet = $this->getConnection()->createDataSet(['post', 'tag', 'post_tag_assn']); $expectedDataSet = $this->createFlatXMLDataSet(__DIR__ . '/data/test-create-post-add-tag-values.xml'); $this->assertDataSetsEqual($expectedDataSet, $dataSet); }
public function testCreatePostSetTranslations() { $post = new Post(); $data = ['title' => 'New post title', 'body' => 'New post body', 'title_en_us' => 'New post title en', 'body_en_us' => 'New post body en', 'title_ru' => 'New post title ru', 'body_ru' => 'New post body ru']; $formName = $post->formName(); if (!empty($formName)) { $data = [$formName => $data]; } $post->load($data); $this->assertTrue($post->save()); $dataSet = $this->getConnection()->createDataSet(['post', 'postLang']); $expectedDataSet = $this->createFlatXMLDataSet(__DIR__ . '/data/test-create-post-set-translations-na.xml'); $this->assertDataSetsEqual($expectedDataSet, $dataSet); }
public function testCreatePost() { $post = new Post(); $post->title = 'Incomplete post'; $this->assertFalse($post->save()); $post = new Post(); $post->title = 'Post title 4'; $post->body = 'Post body 4'; $post->translate('de-DE')->title = 'Unvollständig post'; $this->assertFalse($post->save()); $post = new Post(); $post->title = 'Post title 4'; $post->body = 'Post body 4'; $post->translate('de-DE')->title = 'Post titel 4'; $post->translate('de-DE')->body = 'Post inhalt 4'; $post->translate('ru-RU')->title = 'Заголовок поста 4'; $post->translate('ru-RU')->body = 'Тело поста 4'; $this->assertTrue($post->save()); $dataSet = $this->getConnection()->createDataSet(['post', 'post_translation']); \PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet::write($dataSet, __DIR__ . '/data/test-create-post.xml'); $expectedDataSet = $this->createFlatXMLDataSet(__DIR__ . '/data/test-create-post.xml'); $this->assertDataSetsEqual($expectedDataSet, $dataSet); }
public function testCreatePostSetTagValuesAsArray() { $post = new Post(); $post->attachBehavior('target-tags', ['class' => Target::className(), 'targetAttribute' => 'tagNames', 'beforeLink' => function ($tag) { /** @var Tag $tag */ $tag->frequency++; }, 'afterUnlink' => function ($tag) { /** @var Tag $tag */ $tag->frequency--; if ($tag->frequency == 0) { $tag->delete(); } else { $tag->update(false); } }]); $post->title = 'New post title'; $post->body = 'New post body'; $post->tagNames = ['tag 4', 'tag 5', '', 'tag 6']; $this->assertTrue($post->save()); $dataSet = $this->getConnection()->createDataSet(['post', 'tag', 'post_tag']); $expectedDataSet = $this->createFlatXMLDataSet(__DIR__ . '/data/test-create-post-set-tag-values.xml'); $this->assertDataSetsEqual($expectedDataSet, $dataSet); }