introduce search, limit, offset and orderby possibilities for (almost) all API listing() functions; added listingCount() function in preparation to replace the old UI\Paging class later on

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2019-11-02 10:58:52 +01:00
parent b162324ff0
commit 1b2c186c07
41 changed files with 1149 additions and 130 deletions

View File

@@ -156,6 +156,51 @@ class AdminsTest extends TestCase
$json_result = Admins::getLocal($admin_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result['count']);
$json_result = Admins::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testAdminAdminsListLimitOffsetOrderSearch()
{
global $admin_userdata;
$json_result = Admins::getLocal($admin_userdata, [
'sql_orderby' => [
'loginname' => 'DESC'
]
])->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result['count']);
$this->assertEquals('reseller', $result['list'][0]['loginname']);
$json_result = Admins::getLocal($admin_userdata, [
'sql_limit' => 1
])->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('admin', $result['list'][0]['loginname']);
$json_result = Admins::getLocal($admin_userdata, [
'sql_limit' => 1,
'sql_offset' => 1
])->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('reseller', $result['list'][0]['loginname']);
$json_result = Admins::getLocal($admin_userdata, [
'sql_search' => [
'loginname' => [
'value' => 'adm',
'op' => null /* LIKE */
]
]
])->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('admin', $result['list'][0]['loginname']);
}
public function testResellerAdminsGet()