fix category generation
This commit is contained in:
parent
3ccd43983e
commit
43b073f67f
@ -131,6 +131,7 @@ class FixtureBuilder {
|
||||
$category_ids_by_slug = array();
|
||||
foreach ($obj['post']['categories'] as $category) {
|
||||
$category_ids_by_slug = array_merge($category_ids_by_slug, PostFixtures::create_category($category));
|
||||
var_dump($category_ids_by_slug);
|
||||
}
|
||||
$category_ids = array_values($category_ids_by_slug);
|
||||
PostFixtures::set_post_categories($post_id, $category_ids);
|
||||
|
@ -5,6 +5,7 @@
|
||||
*/
|
||||
class PostFixtures {
|
||||
var $messages;
|
||||
var $created_categories = array();
|
||||
|
||||
/**
|
||||
* Initialize the plugin.
|
||||
@ -262,7 +263,15 @@ class PostFixtures {
|
||||
$joined_nodes = array();
|
||||
foreach ($nodes as $node) {
|
||||
$joined_nodes[] = $node;
|
||||
$parent = $category_ids_by_slug[implode('/', $joined_nodes)] = wp_insert_category(array('cat_name' => $node, 'category_nicename' => $node, 'category_parent' => $parent));
|
||||
$key = implode('/', $joined_nodes);
|
||||
|
||||
if (isset($this->created_categories[$key])) {
|
||||
$parent = $this->created_categories[$key];
|
||||
} else {
|
||||
$parent = wp_insert_category(array('cat_name' => $node, 'category_nicename' => $node, 'category_parent' => $parent));
|
||||
$this->created_categories[$key] = $parent;
|
||||
}
|
||||
$category_ids_by_slug[$key] = $parent;
|
||||
}
|
||||
return $category_ids_by_slug;
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ class FixtureBuilderTest extends PHPUnit_Framework_TestCase {
|
||||
array(
|
||||
array('post', array('Post title')),
|
||||
array('date', array('2010-01-01')),
|
||||
array('categories', array('test,test2')),
|
||||
array('categories', array('test,test2/test3')),
|
||||
array('metadata', array('key', array('metadata' => 'value'))),
|
||||
array('post', array('Post title 2')),
|
||||
array('date', array('2010-01-02')),
|
||||
@ -56,7 +56,7 @@ class FixtureBuilderTest extends PHPUnit_Framework_TestCase {
|
||||
'post_title' => 'Post title',
|
||||
'post_type' => 'post',
|
||||
'post_date' => '2010-01-01',
|
||||
'categories' => array('test', 'test2'),
|
||||
'categories' => array('test', 'test2/test3'),
|
||||
'metadata' => array('key' => array('metadata' => 'value'))
|
||||
),
|
||||
array(
|
||||
@ -235,10 +235,20 @@ class FixtureBuilderTest extends PHPUnit_Framework_TestCase {
|
||||
$fb->finalize();
|
||||
}
|
||||
|
||||
function testOption() {
|
||||
$fb = new FixtureBuilder();
|
||||
$fb->option('test', 'value');
|
||||
function providerTestOption() {
|
||||
return array(
|
||||
array('test', 'value', 'value'),
|
||||
array('test2', false, false)
|
||||
);
|
||||
}
|
||||
|
||||
$this->assertEquals('value', get_option('test'));
|
||||
/**
|
||||
* @dataProvider providerTestOption
|
||||
*/
|
||||
function testOption($key, $value, $expected_value) {
|
||||
$fb = new FixtureBuilder();
|
||||
$fb->option($key, $value);
|
||||
|
||||
$this->assertEquals($expected_value, get_option($key));
|
||||
}
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ class PostFixturesTest extends PHPUnit_Framework_TestCase {
|
||||
array(false, array()),
|
||||
array(array(), array()),
|
||||
array(array('test'), array('test' => 1)),
|
||||
array(array('test/test2'), array('test' => 1, 'test/test2' => 2)),
|
||||
array(array('test/test2', 'test/test3'), array('test' => 1, 'test/test2' => 2, 'test/test3' => 3)),
|
||||
);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user