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); }