diff --git a/test/classes/TrackingTest.php b/test/classes/TrackingTest.php
index 1c4c938271..49a1d9a54d 100644
--- a/test/classes/TrackingTest.php
+++ b/test/classes/TrackingTest.php
@@ -163,17 +163,84 @@ class TrackingTest extends TestCase
* @return void
* @test
*/
- public function testGetHtmlForDataDefinitionAndManipulationStatements()
+ public function testGetHtmlForMain()
{
- $url_query = "url_query";
- $last_version = 10;
- $html = $this->tracking->getHtmlForDataDefinitionAndManipulationStatements(
+ $sql_result = true;
+ $last_version = 3;
+ $url_params = [];
+ $url_query = "select * from PMA";
+ $pmaThemeImage = "themePath/img";
+ $text_dir = "ltr";
+
+ // Mock dbi
+ $dbi_old = $GLOBALS['dbi'];
+ $dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $fetchArray = [
+ 'tracking_active' => 1,
+ 'version' => 1,
+ 'db_name' => 'db_name',
+ 'table_name' => 'table_name',
+ 'date_created' => 'date_created',
+ 'date_updated' => 'date_updated'
+ ];
+ // return fetchArray for selectable entries
+ for ($i = 2; $i < 6; $i++) {
+ $dbi->expects($this->at($i))
+ ->method('fetchArray')
+ ->will($this->returnValue($fetchArray));
+ }
+ $dbi->expects($this->at(6))
+ ->method('fetchArray')
+ ->will($this->returnValue(false));
+ // return fetchArray for Activate/Deactivate tracking
+ for ($i = 7; $i < 13; $i++) {
+ $dbi->expects($this->at($i))
+ ->method('fetchArray')
+ ->will($this->returnValue($fetchArray));
+ }
+ $dbi->expects($this->at(13))
+ ->method('fetchArray')
+ ->will($this->returnValue(false));
+
+ $dbi->method('numRows')
+ ->will($this->returnValue(1));
+
+ $GLOBALS['dbi'] = $dbi;
+
+ $html = $this->tracking->getHtmlForMainPage(
$url_query,
- $last_version,
- $GLOBALS['db'],
- [$GLOBALS['table']]
+ $url_params,
+ $pmaThemeImage,
+ $text_dir,
+ $last_version
);
+ /*
+ * test selectables panel
+ */
+ $this->assertContains(
+ htmlspecialchars($fetchArray['db_name']).'.'.htmlspecialchars($fetchArray['table_name']),
+ $html
+ );
+
+ /*
+ * test versions table
+ */
+ $this->assertContains(
+ "
date_created | ",
+ $html
+ );
+ $this->assertContains(
+ __('Delete version'),
+ $html
+ );
+
+ /*
+ * test create panel
+ */
$this->assertContains(
'',
$html
@@ -210,77 +277,34 @@ class TrackingTest extends TestCase
__('Create version'),
$html
);
- }
- /**
- * Tests for getHtmlForActivateDeactivateTracking() method.
- *
- * @return void
- * @test
- */
- public function testGetHtmlForActivateDeactivateTracking()
- {
- $url_query = "url_query";
- $last_version = "10";
- $html = $this->tracking->getHtmlForActivateDeactivateTracking(
- 'activate',
+ /*
+ * test deactivate/activate panel
+ */
+ $this->assertContains(
+ 'Deactivate now',
+ $html
+ );
+ $fetchArray['tracking_active'] = 0;
+ $dbi->expects($this->at(9))
+ ->method('fetchArray')
+ ->will($this->returnValue($fetchArray));
+ $GLOBALS['dbi'] = $dbi;
+ $html = $this->tracking->getHtmlForMainPage(
$url_query,
+ $url_params,
+ $pmaThemeImage,
+ $text_dir,
$last_version
);
+ $this->assertContains(
+ 'Activate now',
+ $html
+ );
- $this->assertContains(
- $url_query,
- $html
- );
- $item = sprintf(
- __('Activate tracking for %s'),
- htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table'])
- );
- $this->assertContains(
- $item,
- $html
- );
-
- $this->assertContains(
- $last_version,
- $html
- );
-
- $this->assertContains(
- __('Activate now'),
- $html
- );
-
- $html = $this->tracking->getHtmlForActivateDeactivateTracking(
- 'deactivate',
- $url_query,
- $last_version
- );
-
- $this->assertContains(
- $url_query,
- $html
- );
-
- $item = sprintf(
- __('Deactivate tracking for %s'),
- htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table'])
- );
- $this->assertContains(
- $item,
- $html
- );
-
- $this->assertContains(
- $last_version,
- $html
- );
-
- $this->assertContains(
- __('Deactivate now'),
- $html
- );
+ //restore DBI
+ $GLOBALS['dbi'] = $dbi_old;
}
/**
@@ -431,166 +455,6 @@ class TrackingTest extends TestCase
);
}
- /**
- * Tests for getHtmlForTableVersionDetails() method.
- *
- * @return void
- * @test
- */
- public function testGetHtmlForTableVersionDetails()
- {
- $sql_result = true;
- $last_version = "10";
- $url_params = [];
- $url_query = "select * from PMA";
- $pmaThemeImage = "themePath/img";
- $text_dir = "ltr";
-
- $dbi_old = $GLOBALS['dbi'];
- $dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
- ->disableOriginalConstructor()
- ->getMock();
-
- $fetchArray = [
- 'tracking_active' => 1,
- 'version' => "10",
- 'db_name' => 'db_name',
- 'table_name' => 'table_name',
- 'date_created' => 'date_created',
- 'date_updated' => 'date_updated'
- ];
- $dbi->expects($this->at(0))
- ->method('fetchArray')
- ->will($this->returnValue($fetchArray));
- $dbi->expects($this->at(1))
- ->method('fetchArray')
- ->will($this->returnValue($fetchArray));
- $dbi->expects($this->at(2))
- ->method('fetchArray')
- ->will($this->returnValue(false));
-
- $GLOBALS['dbi'] = $dbi;
-
- $ret = $this->tracking->getHtmlForTableVersionDetails(
- $sql_result,
- $last_version,
- $url_params,
- $url_query,
- $pmaThemeImage,
- $text_dir
- );
-
- $this->assertContains(
- __('Version'),
- $ret
- );
- $this->assertContains(
- __('Created'),
- $ret
- );
- $this->assertContains(
- __('Updated'),
- $ret
- );
- $this->assertContains(
- __('Status'),
- $ret
- );
- $this->assertContains(
- __('Action'),
- $ret
- );
- $this->assertContains(
- __('Show'),
- $ret
- );
- $this->assertContains(
- $fetchArray['version'],
- $ret
- );
- $this->assertContains(
- $fetchArray['date_created'],
- $ret
- );
- $this->assertContains(
- $fetchArray['date_updated'],
- $ret
- );
- $this->assertContains(
- __('Tracking report'),
- $ret
- );
- $this->assertContains(
- __('Structure snapshot'),
- $ret
- );
- $html = sprintf(
- __('Deactivate tracking for %s'),
- htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table'])
- );
- $this->assertContains(
- $html,
- $ret
- );
-
- //restore DBI
- $GLOBALS['dbi'] = $dbi_old;
- }
-
- /**
- * Tests for getHtmlForSelectableTables() method.
- *
- * @return void
- * @test
- */
- public function testGetHtmlForSelectableTables()
- {
- $selectable_tables_sql_result = true;
- $url_query = "select * from PMA";
-
- $dbi_old = $GLOBALS['dbi'];
- $dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
- ->disableOriginalConstructor()
- ->getMock();
-
- $fetchArray = [
- 'tracking_active' => 1,
- 'version' => "10",
- 'db_name' => 'db_name',
- 'table_name' => 'table_name',
- 'date_created' => 'date_created',
- 'date_updated' => 'date_updated'
- ];
- $dbi->expects($this->at(0))
- ->method('fetchArray')
- ->will($this->returnValue($fetchArray));
- $dbi->expects($this->at(1))
- ->method('fetchArray')
- ->will($this->returnValue($fetchArray));
- $dbi->expects($this->at(2))
- ->method('fetchArray')
- ->will($this->returnValue(false));
-
- $GLOBALS['dbi'] = $dbi;
-
- $ret = $this->tracking->getHtmlForSelectableTables(
- $selectable_tables_sql_result,
- $url_query
- );
-
- $this->assertContains(
- htmlspecialchars($fetchArray['table_name']),
- $ret
- );
- $this->assertContains(
- htmlspecialchars($fetchArray['db_name']),
- $ret
- );
-
- //restore DBI
- $GLOBALS['dbi'] = $dbi_old;
- }
-
/**
* Tests for getHtmlForTrackingReport() method.
*