forked from extern/egroupware
Change tests to try and make Widget scan happy
This commit is contained in:
parent
b4ba2c6c3e
commit
132b0fca1c
@ -124,16 +124,3 @@ class EntryTest extends \EGroupware\Api\Etemplate\WidgetBaseTest {
|
||||
return $element_id;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Testable entry widget
|
||||
*/
|
||||
class EntryTestWidget extends \EGroupware\Api\Etemplate\Widget\Entry
|
||||
{
|
||||
public function get_entry($value, array $attrs)
|
||||
{
|
||||
$entry = EntryTest::getEntry($value, $attrs);
|
||||
|
||||
return $entry;
|
||||
}
|
||||
}
|
@ -1,138 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Test for special entry widget, which displays the value of a particular field
|
||||
* (specified by field attribute) from a particular egroupware entry (specified
|
||||
* by value attribute).
|
||||
*
|
||||
* Just simple stuff here, the overriding classes have their own tests.
|
||||
*
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @author Nathan Gray
|
||||
* @package api
|
||||
* @copyright (c) 2019 Nathan Gray
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
*/
|
||||
|
||||
namespace EGroupware\Api\Etemplate\Widget;
|
||||
|
||||
require_once realpath(__DIR__.'/../WidgetBaseTest.php');
|
||||
|
||||
use EGroupware\Api\Etemplate;
|
||||
|
||||
class EntryTest extends \EGroupware\Api\Etemplate\WidgetBaseTest {
|
||||
|
||||
const TEST_TEMPLATE = 'api.entry_test';
|
||||
|
||||
public static function setUpBeforeClass() {
|
||||
parent::setUpBeforeClass();
|
||||
Etemplate::registerWidget(EntryTestWidget::class, 'entry');
|
||||
}
|
||||
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
Etemplate::reset_request();
|
||||
}
|
||||
public static function getEntry($value, $attrs)
|
||||
{
|
||||
$entry = array();
|
||||
|
||||
$entry['7'] = array(
|
||||
'entry_id' => 7,
|
||||
'entry_field_1' => 'Field 1',
|
||||
'entry_field_2' => 'Field 2',
|
||||
'entry_field_3' => 'Field 3',
|
||||
'entry_num_1' => 1,
|
||||
'entry_num_2' => 2,
|
||||
'entry_num_3' => 3,
|
||||
'entry_date' => '2018-11-12'
|
||||
);
|
||||
return $entry[$value];
|
||||
}
|
||||
/**
|
||||
* Test that the correct value is extracted, based on the value attribute,
|
||||
* or if it is missing try the ID
|
||||
*/
|
||||
public function testValueAttr()
|
||||
{
|
||||
// Instanciate the template
|
||||
$etemplate = new Etemplate();
|
||||
$etemplate->read(static::TEST_TEMPLATE, 'test');
|
||||
|
||||
// Content - entry ID is important, it should match what getEntry() gives
|
||||
$content = array(
|
||||
'entry_id' => '7',
|
||||
'not_entry_id' => '123'
|
||||
);
|
||||
|
||||
$result = $this->mockedExec($etemplate, $content);
|
||||
$data = array();
|
||||
foreach($result as $response)
|
||||
{
|
||||
if($response['type'] == 'et2_load')
|
||||
{
|
||||
$data = $response['data']['data'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Check that the entry was found
|
||||
$this->assertNotEmpty($data['content'][Entry::ID_PREFIX.'widget']);
|
||||
$this->assertNotEmpty($data['content'][Entry::ID_PREFIX.'entry_id']);
|
||||
|
||||
// Check that the entry was not found
|
||||
$this->assertEmpty($data['content'][Entry::ID_PREFIX.'no_value']);
|
||||
|
||||
// Check that the value is present - exact value is pulled client side
|
||||
$this->assertNotEmpty($data['content'][Entry::ID_PREFIX.'widget']['entry_field_1']);
|
||||
$this->assertNotEmpty($data['content'][Entry::ID_PREFIX.'entry_id']['entry_field_2']);
|
||||
|
||||
// No errors
|
||||
$this->assertEmpty($data['validation_errors']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check on compare attribute.
|
||||
* Actual comparison is done client side, but here we check that the value is found.
|
||||
*/
|
||||
public function testCompareAttr()
|
||||
{
|
||||
// Instanciate the template
|
||||
$etemplate = new Etemplate();
|
||||
$etemplate->read(static::TEST_TEMPLATE, 'test');
|
||||
|
||||
// Content - entry ID is important, it should match what getEntry() gives
|
||||
$content = array(
|
||||
'entry_id' => '7',
|
||||
);
|
||||
|
||||
$result = $this->mockedExec($etemplate, $content);
|
||||
$data = array();
|
||||
foreach($result as $response)
|
||||
{
|
||||
if($response['type'] == 'et2_load')
|
||||
{
|
||||
$data = $response['data']['data'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Check that the value is present - exact value is pulled client side
|
||||
$this->assertNotEmpty($data['content'][Entry::ID_PREFIX.'compare']['entry_num_1']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Testable entry widget
|
||||
*/
|
||||
class EntryTestWidget extends \EGroupware\Api\Etemplate\Widget\Entry
|
||||
{
|
||||
public function get_entry($value, array $attrs)
|
||||
{
|
||||
$entry = EntryTest::getEntry($value, $attrs);
|
||||
|
||||
return $entry;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user