Merge pull request #14471 from laps15/refactor_tables
Refactor tables' tamplates
This commit is contained in:
commit
ce66ab27ea
@ -101,7 +101,7 @@ class Tracking
|
||||
array $selected,
|
||||
$type = 'both'
|
||||
) {
|
||||
return $this->template->render('table/tracking/create_version', [
|
||||
return $this->template->render('create_tracking_version', [
|
||||
'url_query' => $urlQuery,
|
||||
'last_version' => $lastVersion,
|
||||
'db' => $db,
|
||||
@ -156,129 +156,62 @@ class Tracking
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get html for displaying last version number
|
||||
* Function to get html for main page parts that do not use $_REQUEST
|
||||
*
|
||||
* @param array $sql_result sql result
|
||||
* @param int $last_version last version
|
||||
* @param array $url_params url parameters
|
||||
* @param string $url_query url query
|
||||
* @param string $urlQuery url query
|
||||
* @param array $urlParams url parameters
|
||||
* @param string $pmaThemeImage path to theme's image folder
|
||||
* @param string $text_dir text direction
|
||||
* @param string $textDir text direction
|
||||
* @param int $lastVersion last tracking version
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getHtmlForTableVersionDetails(
|
||||
$sql_result,
|
||||
$last_version,
|
||||
array $url_params,
|
||||
$url_query,
|
||||
public function getHtmlForMainPage(
|
||||
$urlQuery,
|
||||
$urlParams,
|
||||
$pmaThemeImage,
|
||||
$text_dir
|
||||
$textDir,
|
||||
$lastVersion = null
|
||||
) {
|
||||
$tracking_active = false;
|
||||
|
||||
$html = '<form method="post" action="tbl_tracking.php" name="versionsForm"'
|
||||
. ' id="versionsForm" class="ajax">';
|
||||
$html .= Url::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']);
|
||||
$html .= '<table id="versions" class="data">';
|
||||
$html .= '<thead>';
|
||||
$html .= '<tr>';
|
||||
$html .= '<th></th>';
|
||||
$html .= '<th>' . __('Version') . '</th>';
|
||||
$html .= '<th>' . __('Created') . '</th>';
|
||||
$html .= '<th>' . __('Updated') . '</th>';
|
||||
$html .= '<th>' . __('Status') . '</th>';
|
||||
$html .= '<th>' . __('Action') . '</th>';
|
||||
$html .= '<th>' . __('Show') . '</th>';
|
||||
$html .= '</tr>';
|
||||
$html .= '</thead>';
|
||||
$html .= '<tbody>';
|
||||
|
||||
$GLOBALS['dbi']->dataSeek($sql_result, 0);
|
||||
$delete = Util::getIcon('b_drop', __('Delete version'));
|
||||
$report = Util::getIcon('b_report', __('Tracking report'));
|
||||
$structure = Util::getIcon('b_props', __('Structure snapshot'));
|
||||
|
||||
while ($version = $GLOBALS['dbi']->fetchArray($sql_result)) {
|
||||
if ($version['version'] == $last_version) {
|
||||
if ($version['tracking_active'] == 1) {
|
||||
$tracking_active = true;
|
||||
} else {
|
||||
$tracking_active = false;
|
||||
}
|
||||
}
|
||||
$delete_link = 'tbl_tracking.php' . $url_query . '&version='
|
||||
. htmlspecialchars($version['version'])
|
||||
. '&submit_delete_version=true';
|
||||
$checkbox_id = 'selected_versions_' . htmlspecialchars($version['version']);
|
||||
|
||||
$html .= '<tr>';
|
||||
$html .= '<td class="center">';
|
||||
$html .= '<input type="checkbox" name="selected_versions[]"'
|
||||
. ' class="checkall" id="' . $checkbox_id . '"'
|
||||
. ' value="' . htmlspecialchars($version['version']) . '"/>';
|
||||
$html .= '</td>';
|
||||
$html .= '<th class="floatright">';
|
||||
$html .= '<label for="' . $checkbox_id . '">'
|
||||
. htmlspecialchars($version['version']) . '</label>';
|
||||
$html .= '</th>';
|
||||
$html .= '<td>' . htmlspecialchars($version['date_created']) . '</td>';
|
||||
$html .= '<td>' . htmlspecialchars($version['date_updated']) . '</td>';
|
||||
$html .= '<td>' . $this->getVersionStatus($version) . '</td>';
|
||||
$html .= '<td><a class="delete_version_anchor ajax"'
|
||||
. ' href="' . $delete_link . '" >' . $delete . '</a></td>';
|
||||
$html .= '<td><a href="tbl_tracking.php';
|
||||
$html .= Url::getCommon(
|
||||
$url_params + [
|
||||
'report' => 'true', 'version' => $version['version']
|
||||
]
|
||||
$selectableTablesSqlResult = $this->getSqlResultForSelectableTables();
|
||||
$selectableTablesEntries = array();
|
||||
while (($entry = $GLOBALS['dbi']->fetchArray($selectableTablesSqlResult))) {
|
||||
$entry['is_tracked'] = Tracker::isTracked(
|
||||
$entry['db_name'],
|
||||
$entry['table_name']
|
||||
);
|
||||
$html .= '">' . $report . '</a>';
|
||||
$html .= ' ';
|
||||
$html .= '<a href="tbl_tracking.php';
|
||||
$html .= Url::getCommon(
|
||||
$url_params + [
|
||||
'snapshot' => 'true', 'version' => $version['version']
|
||||
]
|
||||
);
|
||||
$html .= '">' . $structure . '</a>';
|
||||
$html .= '</td>';
|
||||
$html .= '</tr>';
|
||||
$selectableTablesEntries[] = $entry;
|
||||
}
|
||||
$selectableTablesNumRows = $GLOBALS['dbi']->numRows($selectableTablesSqlResult);
|
||||
|
||||
$versionSqlResult = $this->getListOfVersionsOfTable();
|
||||
if ($lastVersion === null) {
|
||||
$lastVersion = $this->getTableLastVersionNumber($versionSqlResult);
|
||||
}
|
||||
$GLOBALS['dbi']->dataSeek($versionSqlResult, 0);
|
||||
$versions = array();
|
||||
while ($version = $GLOBALS['dbi']->fetchArray($versionSqlResult)) {
|
||||
$versions[] = $version;
|
||||
}
|
||||
|
||||
$html .= '</tbody>';
|
||||
$html .= '</table>';
|
||||
$type = $GLOBALS['dbi']->getTable($GLOBALS['db'], $GLOBALS['table'])
|
||||
->isView() ? 'view' : 'table';
|
||||
|
||||
$html .= $this->template->render('select_all', [
|
||||
'pma_theme_image' => $pmaThemeImage,
|
||||
'text_dir' => $text_dir,
|
||||
'form_name' => 'versionsForm',
|
||||
return $this->template->render('table/tracking/main', [
|
||||
'url_query' => $urlQuery,
|
||||
'url_params' => $urlParams,
|
||||
'db' => $GLOBALS['db'],
|
||||
'table' => $GLOBALS['table'],
|
||||
'selectable_tables_num_rows' => $selectableTablesNumRows,
|
||||
'selectable_tables_entries' => $selectableTablesEntries,
|
||||
'selected_table' => isset($_REQUEST['table']) ? $_REQUEST['table'] : null,
|
||||
'last_version' => $lastVersion,
|
||||
'versions' => $versions,
|
||||
'type' => $type,
|
||||
'default_statements' => $GLOBALS['cfg']['Server']['tracking_default_statements'],
|
||||
'pmaThemeImage' => $pmaThemeImage,
|
||||
'text_dir' => $textDir
|
||||
]);
|
||||
$html .= Util::getButtonOrImage(
|
||||
'submit_mult',
|
||||
'mult_submit',
|
||||
__('Delete version'),
|
||||
'b_drop',
|
||||
'delete_version'
|
||||
);
|
||||
|
||||
$html .= '</form>';
|
||||
|
||||
if ($tracking_active) {
|
||||
$html .= $this->getHtmlForActivateDeactivateTracking(
|
||||
'deactivate',
|
||||
$url_query,
|
||||
$last_version
|
||||
);
|
||||
} else {
|
||||
$html .= $this->getHtmlForActivateDeactivateTracking(
|
||||
'activate',
|
||||
$url_query,
|
||||
$last_version
|
||||
);
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -314,36 +247,6 @@ class Tracking
|
||||
return $relation->queryAsControlUser($sql_query);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get html for selectable table rows
|
||||
*
|
||||
* @param array $selectableTablesSqlResult sql results for selectable rows
|
||||
* @param string $urlQuery url query
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getHtmlForSelectableTables(
|
||||
$selectableTablesSqlResult,
|
||||
$urlQuery
|
||||
) {
|
||||
$entries = [];
|
||||
while ($entry = $GLOBALS['dbi']->fetchArray($selectableTablesSqlResult)) {
|
||||
$entry['is_tracked'] = Tracker::isTracked(
|
||||
$entry['db_name'],
|
||||
$entry['table_name']
|
||||
);
|
||||
$entries[] = $entry;
|
||||
}
|
||||
|
||||
return $this->template->render('table/tracking/selectable_tables', [
|
||||
'url_query' => $urlQuery,
|
||||
'db' => $GLOBALS['db'],
|
||||
'table' => $GLOBALS['table'],
|
||||
'entries' => $entries,
|
||||
'selected_table' => isset($_REQUEST['table']) ? $_REQUEST['table'] : null,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get html for tracking report and tracking report export
|
||||
*
|
||||
|
||||
@ -94,7 +94,7 @@ if (isset($_REQUEST['report_export'])
|
||||
$tracking->exportAsFileDownload($entries);
|
||||
}
|
||||
|
||||
$html = '<br />';
|
||||
$html = '<br/>';
|
||||
|
||||
/**
|
||||
* Actions
|
||||
@ -184,42 +184,14 @@ if (isset($_REQUEST['report']) || isset($_REQUEST['report_export'])) {
|
||||
|
||||
|
||||
/*
|
||||
* List selectable tables
|
||||
* Main page
|
||||
*/
|
||||
$selectable_tables_sql_result = $tracking->getSqlResultForSelectableTables();
|
||||
if ($GLOBALS['dbi']->numRows($selectable_tables_sql_result) > 0) {
|
||||
$html .= $tracking->getHtmlForSelectableTables(
|
||||
$selectable_tables_sql_result,
|
||||
$url_query
|
||||
);
|
||||
}
|
||||
$html .= '<br />';
|
||||
|
||||
/*
|
||||
* List versions of current table
|
||||
*/
|
||||
$sql_result = $tracking->getListOfVersionsOfTable();
|
||||
$last_version = $tracking->getTableLastVersionNumber($sql_result);
|
||||
if ($last_version > 0) {
|
||||
$html .= $tracking->getHtmlForTableVersionDetails(
|
||||
$sql_result,
|
||||
$last_version,
|
||||
$url_params,
|
||||
$url_query,
|
||||
$pmaThemeImage,
|
||||
$text_dir
|
||||
);
|
||||
}
|
||||
|
||||
$type = $GLOBALS['dbi']->getTable($GLOBALS['db'], $GLOBALS['table'])
|
||||
->isView() ? 'view' : 'table';
|
||||
$html .= $tracking->getHtmlForDataDefinitionAndManipulationStatements(
|
||||
'tbl_tracking.php' . $url_query,
|
||||
$last_version,
|
||||
$GLOBALS['db'],
|
||||
[$GLOBALS['table']],
|
||||
$type
|
||||
);
|
||||
$html .= $tracking->getHtmlForMainPage(
|
||||
$url_query,
|
||||
$url_params,
|
||||
$pmaThemeImage,
|
||||
$text_dir
|
||||
);
|
||||
|
||||
$html .= '<br class="clearfloat"/>';
|
||||
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
<div>
|
||||
<form method="post" action="tbl_tracking.php{{ url_query|raw }}">
|
||||
{{ Url_getHiddenInputs(db, table) }}
|
||||
<fieldset>
|
||||
<legend>
|
||||
{% if action == 'activate' %}
|
||||
{% set legend = 'Activate tracking for %s'|trans %}
|
||||
{% set value = 'activate_now' %}
|
||||
{% set button = 'Activate now'|trans %}
|
||||
{% elseif action == 'deactivate' %}
|
||||
{% set legend = 'Deactivate tracking for %s'|trans %}
|
||||
{% set value = 'deactivate_now' %}
|
||||
{% set button = 'Deactivate now'|trans %}
|
||||
{% else %}
|
||||
{% set legend = '' %}
|
||||
{% set value = '' %}
|
||||
{% set button = '' %}
|
||||
{% endif %}
|
||||
|
||||
{{ legend|format(db ~ '.' ~ table) }}
|
||||
</legend>
|
||||
<input type="hidden" name="version" value="{{ last_version }}" />
|
||||
<input type="hidden" name="toggle_activation" value="{{ value }}" />
|
||||
<input type="submit" value="{{ button }}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
128
templates/table/tracking/main.twig
Normal file
128
templates/table/tracking/main.twig
Normal file
@ -0,0 +1,128 @@
|
||||
{% if selectable_tables_num_rows > 0 %}
|
||||
<form method="post" action="tbl_tracking.php{{ url_query|raw }}">
|
||||
{{ Url_getHiddenInputs(db, table) }}
|
||||
<select name="table" class="autosubmit">
|
||||
{% for entry in selectable_tables_entries %}
|
||||
<option value="{{ entry.table_name }}"
|
||||
{{- entry.table_name == selected_table ? ' selected' }}>
|
||||
{{ entry.db_name }}.{{ entry.table_name }}
|
||||
{% if entry.is_tracked %}
|
||||
({% trans 'active' %})
|
||||
{% else %}
|
||||
({% trans 'not active' %})
|
||||
{% endif %}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<input type="hidden" name="show_versions_submit" value="1">
|
||||
</form>
|
||||
{% endif %}
|
||||
<br/>
|
||||
{% if last_version > 0 %}
|
||||
<form method="post" action="tbl_tracking.php" name="versionsForm" id="versionsForm" class="ajax">
|
||||
{{ Url_getHiddenInputs(db, table) }}
|
||||
<table id="versions" class="data">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>{% trans 'Version' %}</th>
|
||||
<th>{% trans 'Created' %}</th>
|
||||
<th>{% trans 'Updated' %}</th>
|
||||
<th>{% trans 'Status' %}</th>
|
||||
<th>{% trans 'Action' %}</th>
|
||||
<th>{% trans 'Show' %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for version in versions %}
|
||||
<tr>
|
||||
<td class="center">
|
||||
<input type="checkbox" name="selected_versions[]"
|
||||
class="checkall" id="selected_versions_{{- version['version']|escape }}"
|
||||
value="{{- version['version']|escape }}"/>
|
||||
</td>
|
||||
<td class="floatright">
|
||||
<label for="selected_versions_{{- version['version']|escape }}">
|
||||
<b>{{ version['version']|escape }}</b>
|
||||
</label>
|
||||
</td>
|
||||
<td>{{ version['date_created']|escape }}</td>
|
||||
<td>{{ version['date_updated']|escape }}</td>
|
||||
{% if version['tracking_active'] == 1 %}
|
||||
{% set last_version_status = 1 %}
|
||||
<td>{% trans 'active' %}</td>
|
||||
{% else %}
|
||||
{% set last_version_status = 0 %}
|
||||
<td>{% trans 'not active' %}</td>
|
||||
{% endif %}
|
||||
<td>
|
||||
<a class="delete_version_anchor ajax" href="tbl_tracking.php{{- url_query|raw -}}&version=
|
||||
{{- version['version']|escape -}}&submit_delete_version=true">
|
||||
{{ Util_getIcon('b_drop', 'Delete version'|trans) }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="tbl_tracking.php
|
||||
{{- Url_getCommon(
|
||||
url_params|merge({'report': 'true', 'version': version['version']})
|
||||
) -}}">
|
||||
{{ Util_getIcon('b_report', 'Tracking report'|trans) }}
|
||||
</a>
|
||||
|
||||
<a href="tbl_tracking.php
|
||||
{{- Url_getCommon(
|
||||
url_params|merge({'snapshot': 'true', 'version': version['version']})
|
||||
) -}}">
|
||||
{{ Util_getIcon('b_props', 'Structure snapshot'|trans) }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% include 'select_all.twig' with {
|
||||
'pma_theme_image': pmaThemeImage,
|
||||
'text_dir': text_dir,
|
||||
'form_name': 'versionsForm',
|
||||
} only %}
|
||||
{{ Util_getButtonOrImage(
|
||||
'submit_mult',
|
||||
'mult_submit',
|
||||
'Delete version'|trans,
|
||||
'b_drop',
|
||||
'delete_version'
|
||||
) }}
|
||||
</form>
|
||||
{% set last_version_element = versions|first %}
|
||||
<div>
|
||||
<form method="post" action="tbl_tracking.php{{ url_query|raw }}">
|
||||
{{ Url_getHiddenInputs(db, table) }}
|
||||
<fieldset>
|
||||
<legend>
|
||||
{% if last_version_element['tracking_active'] == 0 %}
|
||||
{% set legend = 'Activate tracking for %s'|trans %}
|
||||
{% set value = 'activate_now' %}
|
||||
{% set button = 'Activate now'|trans %}
|
||||
{% else %}
|
||||
{% set legend = 'Deactivate tracking for %s'|trans %}
|
||||
{% set value = 'deactivate_now' %}
|
||||
{% set button = 'Deactivate now'|trans %}
|
||||
{% endif %}
|
||||
|
||||
{{ legend|format(db ~ '.' ~ table) }}
|
||||
</legend>
|
||||
<input type="hidden" name="version" value="{{ last_version }}" />
|
||||
<input type="hidden" name="toggle_activation" value="{{ value }}" />
|
||||
<input type="submit" value="{{ button }}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% include 'create_tracking_version.twig' with {
|
||||
'url_query': url_query,
|
||||
'last_version': last_version,
|
||||
'db': db,
|
||||
'selected': [table],
|
||||
'type': type,
|
||||
'default_statements': default_statements,
|
||||
} only %}
|
||||
@ -1,17 +0,0 @@
|
||||
<form method="post" action="tbl_tracking.php{{ url_query|raw }}">
|
||||
{{ Url_getHiddenInputs(db, table) }}
|
||||
<select name="table" class="autosubmit">
|
||||
{% for entry in entries %}
|
||||
<option value="{{ entry.table_name }}"
|
||||
{{- entry.table_name == selected_table ? ' selected' }}>
|
||||
{{ entry.db_name }} . {{ entry.table_name }}
|
||||
{% if entry.is_tracked %}
|
||||
({% trans 'active' %})
|
||||
{% else %}
|
||||
({% trans 'not active' %})
|
||||
{% endif %}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<input type="hidden" name="show_versions_submit" value="1">
|
||||
</form>
|
||||
@ -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(
|
||||
"<td>date_created</td>",
|
||||
$html
|
||||
);
|
||||
$this->assertContains(
|
||||
__('Delete version'),
|
||||
$html
|
||||
);
|
||||
|
||||
/*
|
||||
* test create panel
|
||||
*/
|
||||
$this->assertContains(
|
||||
'<div id="div_create_version">',
|
||||
$html
|
||||
@ -210,77 +277,33 @@ 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 +454,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.
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user