90 lines
2.8 KiB
PHP
90 lines
2.8 KiB
PHP
<?php
|
|
class ListUsersJobTest extends AbstractTest
|
|
{
|
|
public function testPaging()
|
|
{
|
|
$this->grantAccess('listUsers');
|
|
|
|
$users = $this->userMocker->mockMultiple(3);
|
|
Core::getConfig()->browsing->usersPerPage = 2;
|
|
|
|
$ret = $this->assert->doesNotThrow(function()
|
|
{
|
|
return Api::run(new ListUsersJob(), []);
|
|
});
|
|
|
|
$this->assert->areEqual(3, $ret->entityCount);
|
|
$this->assert->areEqual(2, count($ret->entities));
|
|
$this->assert->areEqual(2, $ret->pageCount);
|
|
$this->assert->areEqual(1, $ret->page);
|
|
|
|
$ret = $this->assert->doesNotThrow(function()
|
|
{
|
|
return Api::run(new ListUsersJob(), [JobArgs::ARG_PAGE_NUMBER => 2]);
|
|
});
|
|
|
|
$this->assert->areEqual(3, $ret->entityCount);
|
|
$this->assert->areEqual(1, count($ret->entities));
|
|
$this->assert->areEqual(2, $ret->pageCount);
|
|
$this->assert->areEqual(2, $ret->page);
|
|
}
|
|
|
|
public function testOrderDate()
|
|
{
|
|
$this->grantAccess('listUsers');
|
|
|
|
$users = $this->userMocker->mockMultiple(3);
|
|
$users[0]->setJoinTime(mktime(0, 0, 0, 10, 23, 1990));
|
|
$users[1]->setJoinTime(mktime(0, 0, 0, 10, 22, 1990));
|
|
$users[2]->setJoinTime(mktime(0, 0, 0, 10, 21, 1990));
|
|
UserModel::save($users);
|
|
|
|
$ret = $this->assert->doesNotThrow(function()
|
|
{
|
|
return Api::run(new ListUsersJob, [JobArgs::ARG_QUERY => 'order:date']);
|
|
});
|
|
|
|
$this->assert->areEqual(3, $ret->entityCount);
|
|
$this->assert->areEqual($users[0]->getName(), $ret->entities[0]->getName());
|
|
$this->assert->areEqual($users[1]->getName(), $ret->entities[1]->getName());
|
|
$this->assert->areEqual($users[2]->getName(), $ret->entities[2]->getName());
|
|
|
|
$ret = $this->assert->doesNotThrow(function()
|
|
{
|
|
return Api::run(new ListUsersJob, [JobArgs::ARG_QUERY => '-order:date']);
|
|
});
|
|
|
|
$this->assert->areEqual(3, $ret->entityCount);
|
|
$this->assert->areEqual($users[2]->getName(), $ret->entities[0]->getName());
|
|
$this->assert->areEqual($users[1]->getName(), $ret->entities[1]->getName());
|
|
$this->assert->areEqual($users[0]->getName(), $ret->entities[2]->getName());
|
|
}
|
|
|
|
public function testOrderAlphanumeric()
|
|
{
|
|
$this->grantAccess('listUsers');
|
|
|
|
$users = $this->userMocker->mockMultiple(2);
|
|
$users[0]->setName('alice');
|
|
$users[1]->setName('bob');
|
|
UserModel::save($users);
|
|
|
|
$ret = $this->assert->doesNotThrow(function()
|
|
{
|
|
return Api::run(new ListUsersJob, [JobArgs::ARG_QUERY => 'order:alpha']);
|
|
});
|
|
|
|
$this->assert->areEqual(2, $ret->entityCount);
|
|
$this->assert->areEqual($users[1]->getName(), $ret->entities[0]->getName());
|
|
$this->assert->areEqual($users[0]->getName(), $ret->entities[1]->getName());
|
|
|
|
$ret = $this->assert->doesNotThrow(function()
|
|
{
|
|
return Api::run(new ListUsersJob, [JobArgs::ARG_QUERY => '-order:alpha']);
|
|
});
|
|
|
|
$this->assert->areEqual(2, $ret->entityCount);
|
|
$this->assert->areEqual($users[0]->getName(), $ret->entities[0]->getName());
|
|
$this->assert->areEqual($users[1]->getName(), $ret->entities[1]->getName());
|
|
}
|
|
}
|