1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-01 04:10:38 +02:00

Updated TreeModelTest to care more about results

… rather than implementation
This commit is contained in:
Deltik
2018-03-06 23:13:01 -06:00
parent d5e5504d57
commit 6cc7c97bfa
2 changed files with 308 additions and 317 deletions

2
e107

Submodule e107 updated: 840859a32f...1494c18660

View File

@@ -62,35 +62,26 @@ class TreeModelTest extends \Codeception\Test\Unit
$this->assertEquals($l1_id, $l2_parent); $this->assertEquals($l1_id, $l2_parent);
} }
public function testTreeValuesAreStoredAsExpected() public function testTreeValuesAreFlattenedInExpectedOrder()
{ {
$l1_0 = $this->tree[0]['_children'][0]; $class = new \ReflectionClass('e_tree_model');
$l1_1 = $this->tree[0]['_children'][1];
$l2_0 = $this->tree[0]['_children'][0]['_children'][0];
$l2_1 = $this->tree[0]['_children'][0]['_children'][1];
$this->assertEquals($l1_0['link_name'], "General"); $method = $class->getMethod('flattenTree');
$this->assertEquals($l1_1['link_name'], "Nodes"); $method->setAccessible(true);
$this->assertEquals($l2_0['link_name'], "Home"); $rows = $method->invoke(null, $this->tree, 'link_order', 1);
$this->assertEquals($l2_1['link_name'], "Downloads");
}
public function testTreeValuesAreOrderedCorrectly() $expected = ['General', 'Home', 'Downloads', 'Members', 'Online Users',
{ 'Site Stats', 'Submit News', 'Newsfeeds', 'About Us',
$order_key = 'link_order'; 'Contact Us', 'Nodes', 'Main Website', 'My Deltik',
$l1_0 = $this->tree[0]['_children'][0][$order_key]; 'x10Deltik', 'Deltik Docs', 'Legacy Deltik Products',
$l1_1 = $this->tree[0]['_children'][1][$order_key]; 'Deltik Minecraft Server', 'Register'];
$l1_2 = $this->tree[0]['_children'][2][$order_key];
$l2_0 = $this->tree[0]['_children'][0]['_children'][0][$order_key];
$l2_1 = $this->tree[0]['_children'][0]['_children'][1][$order_key];
$l2_2 = $this->tree[0]['_children'][0]['_children'][2][$order_key];
$l2_3 = $this->tree[0]['_children'][0]['_children'][3][$order_key];
$this->assertLessThanOrEqual($l1_1, $l1_0); foreach($expected as $key => $value)
$this->assertLessThanOrEqual($l1_2, $l1_1); {
$this->assertLessThanOrEqual($l2_1, $l2_0); $this->assertEquals($value, $rows[$key]['link_name']);
$this->assertLessThanOrEqual($l2_2, $l2_1); }
$this->assertLessThanOrEqual($l2_3, $l2_2);
$this->assertEquals(count($expected), count($rows));
} }
public function testPrepareSimulatedPaginationProcessesCountOnly() public function testPrepareSimulatedPaginationProcessesCountOnly()
@@ -192,295 +183,295 @@ class TreeModelTest extends \Codeception\Test\Unit
$this->assertEquals(1, $result); $this->assertEquals(1, $result);
} }
protected $sample_rows = protected $sample_rows =
array ( array(
1 => 0 =>
array ( array (
'link_id' => '1', 'link_id' => '1',
'link_name' => 'General', 'link_name' => 'General',
'link_url' => '/index.php', 'link_url' => '/index.php',
'link_description' => '', 'link_description' => '',
'link_button' => '{e_IMAGE}icons/icon2.png', 'link_button' => '{e_IMAGE}icons/icon2.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '1', 'link_order' => '1',
'link_parent' => '0', 'link_parent' => '0',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
2 => 1 =>
array ( array (
'link_id' => '6', 'link_id' => '9',
'link_name' => 'Home', 'link_name' => 'Nodes',
'link_url' => '/index.php', 'link_url' => '',
'link_description' => '', 'link_description' => '',
'link_button' => '{e_IMAGE}icons/icon18.png', 'link_button' => 'icon14.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '1', 'link_order' => '2',
'link_parent' => '1', 'link_parent' => '0',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
3 => 2 =>
array ( array (
'link_id' => '10', 'link_id' => '8',
'link_name' => 'Main Website', 'link_name' => 'Register',
'link_url' => 'https://www.deltik.org/', 'link_url' => '/signup.php',
'link_description' => 'The Official Deltik Website', 'link_description' => '',
'link_button' => 'deltik-favicon.png', 'link_button' => '{e_IMAGE}icons/deltik-favicon.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '1', 'link_order' => '3',
'link_parent' => '9', 'link_parent' => '0',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '252',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
4 => 3 =>
array ( array (
'link_id' => '2', 'link_id' => '6',
'link_name' => 'Downloads', 'link_name' => 'Home',
'link_url' => '/download.php', 'link_url' => '/index.php',
'link_description' => '', 'link_description' => '',
'link_button' => '{e_IMAGE}icons/download_32.png', 'link_button' => '{e_IMAGE}icons/icon18.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '2', 'link_order' => '1',
'link_parent' => '1', 'link_parent' => '1',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
5 => 4 =>
array ( array (
'link_id' => '9', 'link_id' => '18',
'link_name' => 'Nodes', 'link_name' => 'About Us',
'link_url' => '', 'link_url' => '/page.php?4',
'link_description' => '', 'link_description' => '',
'link_button' => 'icon14.png', 'link_button' => '{e_IMAGE}icons/deltik-favicon.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '2', 'link_order' => '8',
'link_parent' => '0', 'link_parent' => '1',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
6 => 5 =>
array ( array (
'link_id' => '11', 'link_id' => '17',
'link_name' => 'My Deltik', 'link_name' => 'Newsfeeds',
'link_url' => 'https://my.deltik.org/', 'link_url' => '/{e_PLUGIN}newsfeed/newsfeed.php',
'link_description' => 'User Control Panel for all of Deltik's Features', 'link_description' => '',
'link_button' => 'deltik_my-favicon.png', 'link_button' => '{e_IMAGE}icons/html.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '2', 'link_order' => '7',
'link_parent' => '9', 'link_parent' => '1',
'link_open' => '0', 'link_open' => '0',
'link_class' => '255', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
7 => 6 =>
array ( array (
'link_id' => '3', 'link_id' => '4',
'link_name' => 'Members', 'link_name' => 'Submit News',
'link_url' => '/user.php', 'link_url' => '/submitnews.php',
'link_description' => '', 'link_description' => '',
'link_button' => '{e_IMAGE}icons/icon20.png', 'link_button' => '{e_IMAGE}icons/icon26.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '3', 'link_order' => '6',
'link_parent' => '1', 'link_parent' => '1',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
8 => 7 =>
array ( array (
'link_id' => '8', 'link_id' => '16',
'link_name' => 'Register', 'link_name' => 'Site Stats',
'link_url' => '/signup.php', 'link_url' => '/{e_PLUGIN}log/stats.php?1',
'link_description' => '', 'link_description' => '',
'link_button' => '{e_IMAGE}icons/deltik-favicon.png', 'link_button' => '{e_IMAGE}icons/icon11.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '3', 'link_order' => '5',
'link_parent' => '0', 'link_parent' => '1',
'link_open' => '0', 'link_open' => '0',
'link_class' => '252', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
9 => 8 =>
array ( array (
'link_id' => '12', 'link_id' => '7',
'link_name' => 'x10Deltik', 'link_name' => 'Online Users',
'link_url' => 'https://x10.deltik.org/', 'link_url' => '/online.php',
'link_description' => 'Deltik Additional Resources Website', 'link_description' => '',
'link_button' => 'deltik_x10-favicon.png', 'link_button' => '{e_IMAGE}icons/icon22.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '3', 'link_order' => '4',
'link_parent' => '9', 'link_parent' => '1',
'link_open' => '0', 'link_open' => '0',
'link_class' => '255', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
10 => 9 =>
array ( array (
'link_id' => '7', 'link_id' => '2',
'link_name' => 'Online Users', 'link_name' => 'Downloads',
'link_url' => '/online.php', 'link_url' => '/download.php',
'link_description' => '', 'link_description' => '',
'link_button' => '{e_IMAGE}icons/icon22.png', 'link_button' => '{e_IMAGE}icons/download_32.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '4', 'link_order' => '2',
'link_parent' => '1', 'link_parent' => '1',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
11 => 10 =>
array ( array (
'link_id' => '15', 'link_id' => '3',
'link_name' => 'Deltik Docs', 'link_name' => 'Members',
'link_url' => 'https://man.deltik.org/', 'link_url' => '/user.php',
'link_description' => 'Manual Pages of Deltik', 'link_description' => '',
'link_button' => 'deltik_docs-favicon.png', 'link_button' => '{e_IMAGE}icons/icon20.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '4', 'link_order' => '3',
'link_parent' => '9', 'link_parent' => '1',
'link_open' => '0', 'link_open' => '0',
'link_class' => '255', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
12 => 11 =>
array ( array (
'link_id' => '14', 'link_id' => '5',
'link_name' => 'Legacy Deltik Products', 'link_name' => 'Contact Us',
'link_url' => 'https://products.deltik.org/', 'link_url' => '/contact.php',
'link_description' => 'Legacy Deltik Products', 'link_description' => '',
'link_button' => 'deltik_products-favicon.png', 'link_button' => '{e_IMAGE}icons/icon19.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '5', 'link_order' => '9',
'link_parent' => '9', 'link_parent' => '1',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
13 => 12 =>
array ( array (
'link_id' => '16', 'link_id' => '12',
'link_name' => 'Site Stats', 'link_name' => 'x10Deltik',
'link_url' => '/{e_PLUGIN}log/stats.php?1', 'link_url' => 'https://x10.deltik.org/',
'link_description' => '', 'link_description' => 'Deltik Additional Resources Website',
'link_button' => '{e_IMAGE}icons/icon11.png', 'link_button' => 'deltik_x10-favicon.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '5', 'link_order' => '3',
'link_parent' => '1', 'link_parent' => '9',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '255',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
14 => 13 =>
array ( array (
'link_id' => '4', 'link_id' => '15',
'link_name' => 'Submit News', 'link_name' => 'Deltik Docs',
'link_url' => '/submitnews.php', 'link_url' => 'https://man.deltik.org/',
'link_description' => '', 'link_description' => 'Manual Pages of Deltik',
'link_button' => '{e_IMAGE}icons/icon26.png', 'link_button' => 'deltik_docs-favicon.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '6', 'link_order' => '4',
'link_parent' => '1', 'link_parent' => '9',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '255',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
15 => 14 =>
array ( array (
'link_id' => '13', 'link_id' => '14',
'link_name' => 'Deltik Minecraft Server', 'link_name' => 'Legacy Deltik Products',
'link_url' => 'https://mc.deltik.org/', 'link_url' => 'https://products.deltik.org/',
'link_description' => 'Deltik Minecraft Server', 'link_description' => 'Legacy Deltik Products',
'link_button' => 'deltik_mc-favicon.png', 'link_button' => 'deltik_products-favicon.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '6', 'link_order' => '5',
'link_parent' => '9', 'link_parent' => '9',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
16 => 15 =>
array ( array (
'link_id' => '17', 'link_id' => '11',
'link_name' => 'Newsfeeds', 'link_name' => 'My Deltik',
'link_url' => '/{e_PLUGIN}newsfeed/newsfeed.php', 'link_url' => 'https://my.deltik.org/',
'link_description' => '', 'link_description' => 'User Control Panel for all of Deltik's Features',
'link_button' => '{e_IMAGE}icons/html.png', 'link_button' => 'deltik_my-favicon.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '7', 'link_order' => '2',
'link_parent' => '1', 'link_parent' => '9',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '255',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
17 => 16 =>
array ( array (
'link_id' => '18', 'link_id' => '13',
'link_name' => 'About Us', 'link_name' => 'Deltik Minecraft Server',
'link_url' => '/page.php?4', 'link_url' => 'https://mc.deltik.org/',
'link_description' => '', 'link_description' => 'Deltik Minecraft Server',
'link_button' => '{e_IMAGE}icons/deltik-favicon.png', 'link_button' => 'deltik_mc-favicon.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '8', 'link_order' => '6',
'link_parent' => '1', 'link_parent' => '9',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
18 => 17 =>
array ( array (
'link_id' => '5', 'link_id' => '10',
'link_name' => 'Contact Us', 'link_name' => 'Main Website',
'link_url' => '/contact.php', 'link_url' => 'https://www.deltik.org/',
'link_description' => '', 'link_description' => 'The Official Deltik Website',
'link_button' => '{e_IMAGE}icons/icon19.png', 'link_button' => 'deltik-favicon.png',
'link_category' => '1', 'link_category' => '1',
'link_order' => '9', 'link_order' => '1',
'link_parent' => '1', 'link_parent' => '9',
'link_open' => '0', 'link_open' => '0',
'link_class' => '0', 'link_class' => '0',
'link_function' => '', 'link_function' => '',
'link_sefurl' => '', 'link_sefurl' => '',
'link_owner' => '', 'link_owner' => '',
), ),
); );
} }