mirror of
https://github.com/e107inc/e107.git
synced 2025-08-27 00:05:46 +02:00
Removed all SQL queries from usersettings_shortcodes.
This commit is contained in:
@@ -26,15 +26,13 @@
|
||||
|
||||
try
|
||||
{
|
||||
$this->ue = $this->make('e107_user_extended');
|
||||
$this->ue = e107::getUserExt(); // $this->make('e107_user_extended');
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$this->assertTrue(false, "Couldn't load e107_user_extended object");
|
||||
}
|
||||
|
||||
$this->ue->__construct();
|
||||
|
||||
|
||||
$this->structTypes = array(
|
||||
'text' => EUF_TEXT,
|
||||
@@ -120,9 +118,13 @@
|
||||
|
||||
// clear the table.
|
||||
$sql = e107::getDb();
|
||||
if($sql->select('user_extended_struct', 'user_extended_struct_id', "user_extended_struct_text = '_system_'"))
|
||||
$fieldCount = (int) $sql->count('user_extended_struct');
|
||||
|
||||
if($fieldCount > 17)
|
||||
{
|
||||
codecept_debug("Truncating user_extended_struct");
|
||||
$sql->truncate('user_extended_struct');
|
||||
$this->ue->init(); // reload the extended fields from db.
|
||||
}
|
||||
|
||||
|
||||
@@ -140,6 +142,9 @@
|
||||
'default' => (isset($this->structDefault[$k])) ? $this->structDefault[$k] : null,
|
||||
'parent' => (isset($this->structParent[$k])) ? $this->structParent[$k] : 0,
|
||||
'required' => (isset($this->structRequired[$k])) ? $this->structRequired[$k] : 0,
|
||||
'read' => e_UC_MEMBER,
|
||||
'write' => e_UC_ADMIN,
|
||||
'applicable' => e_UC_MAINADMIN,
|
||||
);
|
||||
|
||||
// simulate data from e_user.php 'settings' method.
|
||||
@@ -220,6 +225,44 @@
|
||||
|
||||
}
|
||||
|
||||
public function testUserextendedCatShortcode()
|
||||
{
|
||||
$sc = e107::getScBatch('usersettings');
|
||||
$sc->reset();
|
||||
|
||||
$perms = array(e_UC_PUBLIC, e_UC_MEMBER, e_UC_ADMIN, e_UC_MAINADMIN);
|
||||
$sc->setVars(array('userclass_list' => implode(',',$perms)));
|
||||
$cat = (int) e107::getDb()->retrieve('user_extended_struct', 'user_extended_struct_id', "user_extended_struct_name = 'mycategory' LIMIT 1");
|
||||
|
||||
|
||||
$result = $sc->sc_userextended_cat($cat);
|
||||
$this->assertStringContainsString('<h3>Category Name</h3>', $result);
|
||||
$this->assertStringContainsString("<label class='col-sm-3 control-label'>Radio <span class='required'>", $result);
|
||||
$this->assertStringContainsString("<textarea id='ue-user-textarea'", $result);
|
||||
$this->assertStringContainsString("<select id='ue-user-list'", $result);
|
||||
|
||||
$result = $sc->sc_userextended_cat(0);
|
||||
$this->assertStringContainsString('<h3>Miscellaneous</h3>', $result);
|
||||
$this->assertStringContainsString("<label class='col-sm-3 control-label'>Dropdown", $result);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function testUserExtendedFieldShortcode()
|
||||
{
|
||||
$sc = e107::getScBatch('usersettings');
|
||||
$sc->reset();
|
||||
|
||||
$perms = array(e_UC_PUBLIC, e_UC_MEMBER, e_UC_ADMIN, e_UC_MAINADMIN);
|
||||
$sc->setVars(array('userclass_list' => implode(',',$perms)));
|
||||
|
||||
$result = $sc->sc_userextended_field('radio');
|
||||
$this->assertStringContainsString("Radio <span class='required'", $result);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test the {USER_EXTENDED} shortcode.
|
||||
*/
|
||||
@@ -338,6 +381,8 @@
|
||||
{
|
||||
|
||||
$sc = e107::getScBatch('usersettings');
|
||||
$sc->wrapper('not-a-real-wrapper');
|
||||
$sc->reset();
|
||||
|
||||
$sc->setVars(array('userclass_list' => '253,251,0,254,250'));
|
||||
|
||||
@@ -349,6 +394,65 @@
|
||||
|
||||
}
|
||||
|
||||
public function testloadUECatData()
|
||||
{
|
||||
/** @var usersettings_shortcodes $sc */
|
||||
$sc = e107::getScBatch('usersettings');
|
||||
|
||||
$data = $sc->loadUECatData('write');
|
||||
$this->assertCount(3, $data); // 3 categories including "Misc"
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function testloadUEFieldData()
|
||||
{
|
||||
/**
|
||||
* All fields have been created with the following.
|
||||
* 'read' => e_UC_MEMBER,
|
||||
'write' => e_UC_ADMIN,
|
||||
'applicable' => e_UC_MAINADMIN,
|
||||
*
|
||||
* $this->structParent = array(
|
||||
'list' => 16,
|
||||
'radio' => 16,
|
||||
'textarea' => 16,
|
||||
'country' => 17,
|
||||
);
|
||||
*/
|
||||
|
||||
$sc = e107::getScBatch('usersettings');
|
||||
$GLOBALS['_E107']['phpunit'] = true; // disable universal CLI access in check_class()
|
||||
|
||||
$perms = array(e_UC_PUBLIC, e_UC_MEMBER, e_UC_ADMIN, e_UC_MAINADMIN);
|
||||
$sc->setVars(array('userclass_list' => implode(',',$perms)));
|
||||
|
||||
// Load Fields from parent = 0
|
||||
$data = $sc->loadUEFieldData('write', 0);
|
||||
$this->assertArrayHasKey('text', $data);
|
||||
$this->assertArrayHasKey('homepage', $data);
|
||||
$this->assertArrayNotHasKey('radio', $data);
|
||||
|
||||
// Load Fields from parent = 16
|
||||
$data = $sc->loadUEFieldData('write', 16);
|
||||
$this->assertArrayHasKey('radio', $data);
|
||||
$this->assertArrayHasKey('list', $data);
|
||||
$this->assertArrayHasKey('textarea', $data);
|
||||
|
||||
// Load Fields from parent = 17
|
||||
$data = $sc->loadUEFieldData('write', 17);
|
||||
$this->assertArrayHasKey('country', $data);
|
||||
|
||||
|
||||
$perms = array(e_UC_GUEST); // ie USERCLASS_LIST
|
||||
$sc->setVars(array('userclass_list' => implode(',',$perms)));
|
||||
$data = $sc->loadUEFieldData('write', 16);
|
||||
$this->assertCount(0, $data); // should be empty
|
||||
|
||||
$GLOBALS['_E107']['phpunit'] = false; // fix check_class()
|
||||
|
||||
}
|
||||
|
||||
public function testSignupExtendedUserFieldsShortcode()
|
||||
{
|
||||
$this->fixRegistry('before');
|
||||
@@ -407,6 +511,7 @@
|
||||
|
||||
private function fixRegistry($mode)
|
||||
{
|
||||
return null;
|
||||
$regID = 'core/e107/singleton/e107_user_extended';
|
||||
|
||||
static $originalRegistry;
|
||||
@@ -424,7 +529,7 @@
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
public function testGetUserExtendedFieldData()
|
||||
{
|
||||
$sc = e107::getScBatch('usersettings');
|
||||
@@ -439,11 +544,11 @@
|
||||
'user_extended_struct_parms' => '',
|
||||
'user_extended_struct_values' => 'M => UE_LAN_MALE,F => UE_LAN_FEMALE',
|
||||
'user_extended_struct_default' => 'F',
|
||||
'user_extended_struct_read' => '0',
|
||||
'user_extended_struct_write' => '0',
|
||||
'user_extended_struct_read' => '253',
|
||||
'user_extended_struct_write' => '254',
|
||||
'user_extended_struct_required' => '1',
|
||||
'user_extended_struct_signup' => '0',
|
||||
'user_extended_struct_applicable' => '0',
|
||||
'user_extended_struct_applicable' => '250',
|
||||
'user_extended_struct_order' => '2',
|
||||
'user_extended_struct_parent' => '16',
|
||||
);
|
||||
@@ -452,7 +557,7 @@
|
||||
$this->assertEquals($result, $expected);
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
public function testGetStructure()
|
||||
{
|
||||
@@ -525,12 +630,47 @@
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
public function testHasPermission()
|
||||
{
|
||||
|
||||
/**
|
||||
* All fields have been createad with the following.
|
||||
* 'read' => e_UC_MEMBER,
|
||||
'write' => e_UC_ADMIN,
|
||||
'applicable' => e_UC_MAINADMIN,
|
||||
*/
|
||||
|
||||
$GLOBALS['_E107']['phpunit'] = true; // fix check_class()
|
||||
// $_E107['phpunit'] = true;
|
||||
$ret = [];
|
||||
foreach($this->structTypes as $field => $name)
|
||||
{
|
||||
$fid = 'user_'.$field;
|
||||
|
||||
// test public access against read = member.
|
||||
$result = $this->ue->hasPermission($fid,'read', e_UC_PUBLIC);
|
||||
$this->assertFalse($result);
|
||||
|
||||
// test member against write = admin.
|
||||
$result = $this->ue->hasPermission($fid,'write', e_UC_MEMBER);
|
||||
$this->assertFalse($result);
|
||||
|
||||
// test member against write = admin.
|
||||
$result = $this->ue->hasPermission($fid,'applicable', e_UC_ADMIN);
|
||||
$this->assertFalse($result);
|
||||
|
||||
// test member against write = admin.
|
||||
$result = $this->ue->hasPermission($fid,'applicable', e_UC_MAINADMIN);
|
||||
$this->assertTrue($result);
|
||||
|
||||
}
|
||||
|
||||
$GLOBALS['_E107']['phpunit'] = false;
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
public function testGetFieldTypes()
|
||||
{
|
||||
$result = $this->ue->getFieldTypes();
|
||||
@@ -864,11 +1004,11 @@
|
||||
'user_extended_struct_parms' => '',
|
||||
'user_extended_struct_values' => 'M => UE_LAN_MALE,F => UE_LAN_FEMALE',
|
||||
'user_extended_struct_default' => 'F',
|
||||
'user_extended_struct_read' => '0',
|
||||
'user_extended_struct_write' => '0',
|
||||
'user_extended_struct_read' => '253',
|
||||
'user_extended_struct_write' => '254',
|
||||
'user_extended_struct_required' => '1',
|
||||
'user_extended_struct_signup' => '0',
|
||||
'user_extended_struct_applicable' => '0',
|
||||
'user_extended_struct_applicable' => '250',
|
||||
'user_extended_struct_order' => '2',
|
||||
'user_extended_struct_parent' => '16',
|
||||
),
|
||||
@@ -881,11 +1021,11 @@
|
||||
'user_extended_struct_parms' => '',
|
||||
'user_extended_struct_values' => '',
|
||||
'user_extended_struct_default' => '',
|
||||
'user_extended_struct_read' => '0',
|
||||
'user_extended_struct_write' => '0',
|
||||
'user_extended_struct_read' => '253',
|
||||
'user_extended_struct_write' => '254',
|
||||
'user_extended_struct_required' => '0',
|
||||
'user_extended_struct_signup' => '0',
|
||||
'user_extended_struct_applicable' => '0',
|
||||
'user_extended_struct_applicable' => '250',
|
||||
'user_extended_struct_order' => '5',
|
||||
'user_extended_struct_parent' => '16',
|
||||
),
|
||||
@@ -898,11 +1038,11 @@
|
||||
'user_extended_struct_parms' => '',
|
||||
'user_extended_struct_values' => 'timezones',
|
||||
'user_extended_struct_default' => '',
|
||||
'user_extended_struct_read' => '0',
|
||||
'user_extended_struct_write' => '0',
|
||||
'user_extended_struct_read' => '253',
|
||||
'user_extended_struct_write' => '254',
|
||||
'user_extended_struct_required' => '1',
|
||||
'user_extended_struct_signup' => '0',
|
||||
'user_extended_struct_applicable' => '0',
|
||||
'user_extended_struct_applicable' => '250',
|
||||
'user_extended_struct_order' => '9',
|
||||
'user_extended_struct_parent' => '16',
|
||||
),
|
||||
@@ -961,16 +1101,23 @@
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
public function testGetFields()
|
||||
{
|
||||
$data = $this->ue->getFields();
|
||||
$this->assertArrayHasKey('text', $data);
|
||||
// var_dump($data);
|
||||
// $this->assertCount(15, $data);
|
||||
|
||||
$data = $this->ue->getFields(16);
|
||||
$this->assertArrayHasKey('radio', $data);
|
||||
// $this->assertCount(3, $data);
|
||||
|
||||
$data = $this->ue->getFields(17);
|
||||
$this->assertArrayHasKey('country', $data);
|
||||
// $this->assertCount(1, $data);
|
||||
}
|
||||
|
||||
public function testGet()
|
||||
{
|
||||
|
||||
}
|
||||
/*
|
||||
|
||||
public function testUser_extended_field_exist()
|
||||
{
|
||||
@@ -1029,11 +1176,11 @@
|
||||
'user_extended_struct_parms' => '',
|
||||
'user_extended_struct_values' => 'M => UE_LAN_MALE,F => UE_LAN_FEMALE',
|
||||
'user_extended_struct_default' => 'F',
|
||||
'user_extended_struct_read' => '0',
|
||||
'user_extended_struct_write' => '0',
|
||||
'user_extended_struct_read' => '253',
|
||||
'user_extended_struct_write' => '254',
|
||||
'user_extended_struct_required' => '1',
|
||||
'user_extended_struct_signup' => '0',
|
||||
'user_extended_struct_applicable' => '0',
|
||||
'user_extended_struct_applicable' => '250',
|
||||
'user_extended_struct_order' => '2',
|
||||
'user_extended_struct_parent' => 16,
|
||||
),
|
||||
@@ -1046,11 +1193,11 @@
|
||||
'user_extended_struct_parms' => '',
|
||||
'user_extended_struct_values' => '',
|
||||
'user_extended_struct_default' => '',
|
||||
'user_extended_struct_read' => '0',
|
||||
'user_extended_struct_write' => '0',
|
||||
'user_extended_struct_read' => '253',
|
||||
'user_extended_struct_write' => '254',
|
||||
'user_extended_struct_required' => '0',
|
||||
'user_extended_struct_signup' => '0',
|
||||
'user_extended_struct_applicable' => '0',
|
||||
'user_extended_struct_applicable' => '250',
|
||||
'user_extended_struct_order' => '5',
|
||||
'user_extended_struct_parent' => 16,
|
||||
),
|
||||
@@ -1063,11 +1210,11 @@
|
||||
'user_extended_struct_parms' => '',
|
||||
'user_extended_struct_values' => 'timezones',
|
||||
'user_extended_struct_default' => '',
|
||||
'user_extended_struct_read' => '0',
|
||||
'user_extended_struct_write' => '0',
|
||||
'user_extended_struct_read' => '253',
|
||||
'user_extended_struct_write' => '254',
|
||||
'user_extended_struct_required' => '1',
|
||||
'user_extended_struct_signup' => '0',
|
||||
'user_extended_struct_applicable' => '0',
|
||||
'user_extended_struct_applicable' => '250',
|
||||
'user_extended_struct_order' => '9',
|
||||
'user_extended_struct_parent' => 16,
|
||||
),
|
||||
|
Reference in New Issue
Block a user