commit
a314f6d989
|
@ -63,7 +63,8 @@ class CreateController extends Controller {
|
||||||
));
|
));
|
||||||
|
|
||||||
$author->sharedTicketList->add($ticket);
|
$author->sharedTicketList->add($ticket);
|
||||||
|
$author->tickets++;
|
||||||
|
|
||||||
$author->store();
|
$author->store();
|
||||||
$ticket->store();
|
$ticket->store();
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,12 @@ include 'user/send-recover-password.php';
|
||||||
include 'user/edit-password.php';
|
include 'user/edit-password.php';
|
||||||
include 'user/edit-email.php';
|
include 'user/edit-email.php';
|
||||||
include 'user/get.php';
|
include 'user/get.php';
|
||||||
|
include 'user/get-users.php';
|
||||||
|
include 'user/get-user.php';
|
||||||
|
include 'user/delete.php';
|
||||||
|
include 'user/ban.php';
|
||||||
|
include 'user/un-ban.php';
|
||||||
|
include 'user/list-ban.php';
|
||||||
|
|
||||||
$userControllers = new ControllerGroup();
|
$userControllers = new ControllerGroup();
|
||||||
$userControllers->setGroupPath('/user');
|
$userControllers->setGroupPath('/user');
|
||||||
|
@ -21,5 +27,10 @@ $userControllers->addController(new RecoverPasswordController);
|
||||||
$userControllers->addController(new EditPassword);
|
$userControllers->addController(new EditPassword);
|
||||||
$userControllers->addController(new EditEmail);
|
$userControllers->addController(new EditEmail);
|
||||||
$userControllers->addController(new GetUserController);
|
$userControllers->addController(new GetUserController);
|
||||||
|
$userControllers->addController(new GetUsersController);
|
||||||
|
$userControllers->addController(new GetUserByIdController);
|
||||||
|
$userControllers->addController(new DeleteUserController);
|
||||||
|
$userControllers->addController(new BanUserController);
|
||||||
|
$userControllers->addController(new UnBanUserController);
|
||||||
|
$userControllers->addController(new ListBanUserController);
|
||||||
$userControllers->finalize();
|
$userControllers->finalize();
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?php
|
||||||
|
use Respect\Validation\Validator as DataValidator;
|
||||||
|
|
||||||
|
class BanUserController extends Controller {
|
||||||
|
const PATH = '/ban';
|
||||||
|
|
||||||
|
public function validations() {
|
||||||
|
return [
|
||||||
|
'permission' => 'staff_1',
|
||||||
|
'requestData' => [
|
||||||
|
'email' => [
|
||||||
|
'validation' => DataValidator::email(),
|
||||||
|
'error' => ERRORS::INVALID_EMAIL
|
||||||
|
]
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function handler() {
|
||||||
|
$email = Controller::request('email');
|
||||||
|
|
||||||
|
$banRow = Ban::getDataStore($email,'email');
|
||||||
|
if($banRow->isNull()) {
|
||||||
|
$ban = new Ban();
|
||||||
|
|
||||||
|
$ban->setProperties(array(
|
||||||
|
'email' => $email
|
||||||
|
));
|
||||||
|
|
||||||
|
$ban->store();
|
||||||
|
|
||||||
|
Response::respondSuccess();
|
||||||
|
} else {
|
||||||
|
Response::respondError(ERRORS::ALREADY_BANNED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
<?php
|
||||||
|
use Respect\Validation\Validator as DataValidator;
|
||||||
|
DataValidator::with('CustomValidations', true);
|
||||||
|
|
||||||
|
class DeleteUserController extends Controller {
|
||||||
|
const PATH = '/delete';
|
||||||
|
|
||||||
|
public function validations() {
|
||||||
|
return [
|
||||||
|
'permission' => 'staff_1',
|
||||||
|
'requestData' => [
|
||||||
|
'userId' => [
|
||||||
|
'validation' => DataValidator::dataStoreId('user'),
|
||||||
|
'error' => ERRORS::INVALID_USER
|
||||||
|
]
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function handler() {
|
||||||
|
$userId = Controller::request('userId');
|
||||||
|
$user = User::getDataStore($userId);
|
||||||
|
|
||||||
|
$user->delete();
|
||||||
|
Response::respondSuccess();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
<?php
|
||||||
|
use Respect\Validation\Validator as DataValidator;
|
||||||
|
DataValidator::with('CustomValidations', true);
|
||||||
|
|
||||||
|
class GetUserByIdController extends Controller {
|
||||||
|
const PATH = '/get-user';
|
||||||
|
|
||||||
|
public function validations() {
|
||||||
|
return [
|
||||||
|
'permission' => 'staff_2',
|
||||||
|
'requestData' => [
|
||||||
|
'userId' => [
|
||||||
|
'validation' => DataValidator::dataStoreId('user'),
|
||||||
|
'error' => ERRORS::INVALID_USER
|
||||||
|
]
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function handler() {
|
||||||
|
$userId = Controller::request('userId');
|
||||||
|
$user = User::getDataStore($userId);
|
||||||
|
|
||||||
|
Response::respondSuccess([
|
||||||
|
'name' => $user->name,
|
||||||
|
'email' => $user->email,
|
||||||
|
'signupDate' => $user->signupDate,
|
||||||
|
'tickets' => $user->sharedTicketList->toArray()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,107 @@
|
||||||
|
<?php
|
||||||
|
use Respect\Validation\Validator as DataValidator;
|
||||||
|
|
||||||
|
class GetUsersController extends Controller {
|
||||||
|
const PATH = '/get-users';
|
||||||
|
|
||||||
|
public function validations() {
|
||||||
|
return[
|
||||||
|
'permission' => 'staff_2',
|
||||||
|
'requestData' => [
|
||||||
|
'page' => [
|
||||||
|
'validation' => DataValidator::numeric(),
|
||||||
|
'error' => ERRORS::INVALID_PAGE
|
||||||
|
],
|
||||||
|
'orderBy' => [
|
||||||
|
'validation' => DataValidator::in(['id','tickets']),
|
||||||
|
'error' => ERRORS::INVALID_ORDER
|
||||||
|
]
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function handler() {
|
||||||
|
$userList = $this->getUserList();
|
||||||
|
$userListArray = [];
|
||||||
|
|
||||||
|
foreach ($userList as $user) {
|
||||||
|
$userListArray[] = [
|
||||||
|
'id' => $user->id,
|
||||||
|
'name' => $user->name,
|
||||||
|
'tickets' => $user->tickets,
|
||||||
|
'email' => $user->email,
|
||||||
|
'signupDate' => $user->signupDate
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
Response::respondSuccess([
|
||||||
|
'users' => $userListArray,
|
||||||
|
'pages' => $this->getPagesQuantity(),
|
||||||
|
'page' => Controller::request('page'),
|
||||||
|
'orderBy' => Controller::request('orderBy'),
|
||||||
|
'desc' => Controller::request('desc'),
|
||||||
|
'search' => Controller::request('search')
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getUserList() {
|
||||||
|
$query = $this->getSearchQuery();
|
||||||
|
|
||||||
|
return User::find($query, [
|
||||||
|
'%' . Controller::request('search') . '%',
|
||||||
|
'%' . Controller::request('search') . '%',
|
||||||
|
Controller::request('search') . '%',
|
||||||
|
Controller::request('search') . '%'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getPagesQuantity() {
|
||||||
|
$query = '';
|
||||||
|
|
||||||
|
if(Controller::request('search')) {
|
||||||
|
$query .= " (name LIKE ? OR email LIKE ? )";
|
||||||
|
}
|
||||||
|
|
||||||
|
$usersQuantity = User::count($query, [
|
||||||
|
'%' . Controller::request('search') . '%',
|
||||||
|
'%' . Controller::request('search') . '%'
|
||||||
|
]);
|
||||||
|
|
||||||
|
return ceil($usersQuantity / 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getSearchQuery() {
|
||||||
|
$query = '';
|
||||||
|
|
||||||
|
if(Controller::request('search')) {
|
||||||
|
$query .= " (name LIKE ? OR email LIKE ? )";
|
||||||
|
$query .= " ORDER BY CASE WHEN (name LIKE ? OR email LIKE ?)";
|
||||||
|
$query .= " THEN 1 ELSE 2 END ASC,";
|
||||||
|
} else {
|
||||||
|
$query .= " ORDER BY ";
|
||||||
|
}
|
||||||
|
|
||||||
|
$query .= $this->getOrderAndLimit();
|
||||||
|
|
||||||
|
return $query;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getOrderAndLimit() {
|
||||||
|
$query = '';
|
||||||
|
|
||||||
|
if(Controller::request('orderBy') === 'tickets') {
|
||||||
|
$query .= 'tickets';
|
||||||
|
} else {
|
||||||
|
$query .= 'id';
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Controller::request('desc')) {
|
||||||
|
$query .= ' desc';
|
||||||
|
} else {
|
||||||
|
$query .= ' asc';
|
||||||
|
}
|
||||||
|
$query .= " LIMIT 10 OFFSET ". ((Controller::request('page')-1)*10);
|
||||||
|
|
||||||
|
return $query;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?php
|
||||||
|
use Respect\Validation\Validator as DataValidator;
|
||||||
|
|
||||||
|
class ListBanUserController extends Controller {
|
||||||
|
const PATH = '/list-ban';
|
||||||
|
|
||||||
|
public function validations() {
|
||||||
|
return [
|
||||||
|
'permission' => 'staff_1',
|
||||||
|
'requestData' => []
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function handler() {
|
||||||
|
$banList = Ban::getAll()->toArray();
|
||||||
|
Response::respondSuccess($banList);
|
||||||
|
}
|
||||||
|
}
|
|
@ -43,6 +43,12 @@ class SignUpController extends Controller {
|
||||||
Response::respondError(ERRORS::USER_EXISTS);
|
Response::respondError(ERRORS::USER_EXISTS);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
$banRow = Ban::getDataStore($this->userEmail,'email');
|
||||||
|
|
||||||
|
if (!$banRow->isNull()) {
|
||||||
|
Response::respondError(ERRORS::ALREADY_BANNED);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$userId = $this->createNewUserAndRetrieveId();
|
$userId = $this->createNewUserAndRetrieveId();
|
||||||
$this->sendRegistrationMail();
|
$this->sendRegistrationMail();
|
||||||
|
@ -65,6 +71,8 @@ class SignUpController extends Controller {
|
||||||
|
|
||||||
$userInstance->setProperties([
|
$userInstance->setProperties([
|
||||||
'name' => $this->userName,
|
'name' => $this->userName,
|
||||||
|
'signupDate' => Date::getCurrentDate(),
|
||||||
|
'tickets' => 0,
|
||||||
'email' => $this->userEmail,
|
'email' => $this->userEmail,
|
||||||
'password' => Hashing::hashPassword($this->userPassword)
|
'password' => Hashing::hashPassword($this->userPassword)
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
use Respect\Validation\Validator as DataValidator;
|
||||||
|
|
||||||
|
class UnBanUserController extends Controller {
|
||||||
|
const PATH = '/un-ban';
|
||||||
|
|
||||||
|
public function validations() {
|
||||||
|
return [
|
||||||
|
'permission' => 'staff_1',
|
||||||
|
'requestData' => [
|
||||||
|
'email' => [
|
||||||
|
'validation' => DataValidator::email(),
|
||||||
|
'error' => ERRORS::INVALID_EMAIL
|
||||||
|
]
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function handler() {
|
||||||
|
$email = Controller::request('email');
|
||||||
|
$banRow = Ban::getDataStore($email,'email');
|
||||||
|
|
||||||
|
if($banRow->isNull()) {
|
||||||
|
Response::respondError(ERRORS::INVALID_EMAIL);
|
||||||
|
} else {
|
||||||
|
$banRow->delete();
|
||||||
|
Response::respondSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -22,4 +22,8 @@ class ERRORS {
|
||||||
const INVALID_PAGE = 'INVALID_PAGE';
|
const INVALID_PAGE = 'INVALID_PAGE';
|
||||||
const INVALID_QUERY = 'INVALID_QUERY';
|
const INVALID_QUERY = 'INVALID_QUERY';
|
||||||
const INVALID_TOPIC = 'INVALID_TOPIC';
|
const INVALID_TOPIC = 'INVALID_TOPIC';
|
||||||
|
const INVALID_SEARCH = 'INVALID_SEARCH';
|
||||||
|
const INVALID_ORDER = 'INVALID_ORDER';
|
||||||
|
const INVALID_USER = 'INVALID_USER';
|
||||||
|
const ALREADY_BANNED = 'ALREADY_BANNED';
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
class Ban extends DataStore {
|
||||||
|
const TABLE = 'ban';
|
||||||
|
|
||||||
|
public static function getProps() {
|
||||||
|
return array (
|
||||||
|
'email'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDefaultProps() {
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
public function toArray() {
|
||||||
|
return $this->email;
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,8 +15,9 @@ class User extends DataStore {
|
||||||
'email',
|
'email',
|
||||||
'password',
|
'password',
|
||||||
'name',
|
'name',
|
||||||
'sharedTicketList',
|
'signupDate',
|
||||||
'verificationToken',
|
'tickets',
|
||||||
|
'sharedTicketList'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,5 +35,9 @@ require './staff/get-all-tickets.rb'
|
||||||
require './ticket/events.rb'
|
require './ticket/events.rb'
|
||||||
require './article/topic.rb'
|
require './article/topic.rb'
|
||||||
require './article/article.rb'
|
require './article/article.rb'
|
||||||
|
require './user/get-user.rb'
|
||||||
|
require './user/ban.rb'
|
||||||
|
require './user/get-users-test.rb'
|
||||||
|
require './user/delete.rb'
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,75 @@
|
||||||
|
describe '/user/ban' do
|
||||||
|
|
||||||
|
request('/user/logout')
|
||||||
|
result = request('/user/login', {
|
||||||
|
email: 'staff@opensupports.com',
|
||||||
|
password: 'staff',
|
||||||
|
staff: true
|
||||||
|
})
|
||||||
|
|
||||||
|
$csrf_userid = result['data']['userId']
|
||||||
|
$csrf_token = result['data']['token']
|
||||||
|
|
||||||
|
it 'should ban user' do
|
||||||
|
result = request('/user/ban', {
|
||||||
|
email: 'nothing@hotmail.com',
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('success')
|
||||||
|
|
||||||
|
user = $database.getRow('ban', 1 , 'id')
|
||||||
|
(user['email']).should.equal('nothing@hotmail.com')
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should get ban list' do
|
||||||
|
result = request('/user/list-ban', {
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['data'][0]).should.equal('nothing@hotmail.com')
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should not ban user if it is already banned' do
|
||||||
|
result = request('/user/ban', {
|
||||||
|
email: 'nothing@hotmail.com',
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('fail')
|
||||||
|
(result['message']).should.equal('ALREADY_BANNED')
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should un-ban user if it is already banned' do
|
||||||
|
result = request('/user/un-ban', {
|
||||||
|
email: 'nothing@hotmail.com',
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('success')
|
||||||
|
|
||||||
|
user = $database.getRow('ban', 1 , 'id')
|
||||||
|
(user).should.equal(nil)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should not un-ban user if it is not banned' do
|
||||||
|
result = request('/user/un-ban', {
|
||||||
|
email: 'nothing@hotmail.com',
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('fail')
|
||||||
|
(result['message']).should.equal('INVALID_EMAIL')
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,28 @@
|
||||||
|
describe '/user/delete' do
|
||||||
|
|
||||||
|
request('/user/logout')
|
||||||
|
result = request('/user/login', {
|
||||||
|
email: 'staff@opensupports.com',
|
||||||
|
password: 'staff',
|
||||||
|
staff: true
|
||||||
|
})
|
||||||
|
|
||||||
|
$csrf_userid = result['data']['userId']
|
||||||
|
$csrf_token = result['data']['token']
|
||||||
|
|
||||||
|
it 'should delete user' do
|
||||||
|
result = request('/user/delete', {
|
||||||
|
userId: 4,
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('success')
|
||||||
|
|
||||||
|
user = $database.getRow('user', 4 , 'id')
|
||||||
|
(user).should.equal(nil)
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
describe '/user/get-user' do
|
||||||
|
|
||||||
|
request('/user/logout')
|
||||||
|
result = request('/user/login', {
|
||||||
|
email: 'staff@opensupports.com',
|
||||||
|
password: 'staff',
|
||||||
|
staff: true
|
||||||
|
})
|
||||||
|
|
||||||
|
$csrf_userid = result['data']['userId']
|
||||||
|
$csrf_token = result['data']['token']
|
||||||
|
|
||||||
|
it 'should get user data' do
|
||||||
|
result = request('/user/get-user', {
|
||||||
|
userId: 4,
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('success')
|
||||||
|
|
||||||
|
user = $database.getRow('user', 4 , 'id')
|
||||||
|
(user['email']).should.equal(result['data']['email'])
|
||||||
|
(user['signup_date']).should.equal(result['data']['signupDate'])
|
||||||
|
(user['name']).should.equal(result['data']['name'])
|
||||||
|
(user['tickets']).should.equal(result['data']['tickets'].size.to_s)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,89 @@
|
||||||
|
describe '/user/get-users' do
|
||||||
|
|
||||||
|
request('/user/logout')
|
||||||
|
Scripts.createUser('tests@hotmail.com','passdasdasdas','laasdasd')
|
||||||
|
Scripts.createUser('tests2@hotmail.com','passfasfasfsa','laeaefae')
|
||||||
|
Scripts.createUser('tests3@hotmail.com','passfasfasfws','laeczvwaf')
|
||||||
|
result = request('/user/login', {
|
||||||
|
email: 'staff@opensupports.com',
|
||||||
|
password: 'staff',
|
||||||
|
staff: true
|
||||||
|
})
|
||||||
|
|
||||||
|
$csrf_userid = result['data']['userId']
|
||||||
|
$csrf_token = result['data']['token']
|
||||||
|
|
||||||
|
it 'should get users on first page' do
|
||||||
|
result = request('/user/get-users', {
|
||||||
|
page: 1,
|
||||||
|
orderBy:'id',
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('success')
|
||||||
|
(result['data']['users'].size).should.equal(10)
|
||||||
|
(result['data']['pages']).should.equal(2)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should get users on second page' do
|
||||||
|
result = request('/user/get-users', {
|
||||||
|
page:2,
|
||||||
|
orderBy:'id',
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('success')
|
||||||
|
(result['data']['users'].size).should.equal(3)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should get users with order by tickets and asc' do
|
||||||
|
result = request('/user/get-users', {
|
||||||
|
page:1,
|
||||||
|
orderBy:'tickets',
|
||||||
|
desc:false,
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('success')
|
||||||
|
users = result['data']['users']
|
||||||
|
(1..(users.size-1)).each do |i|
|
||||||
|
(users[i]['tickets'].to_i >= users[i-1]['tickets'].to_i).should.equal(true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should get users with order by tickets and desc' do
|
||||||
|
result = request('/user/get-users', {
|
||||||
|
page:1,
|
||||||
|
orderBy:'tickets',
|
||||||
|
desc:true,
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('success')
|
||||||
|
users = result['data']['users']
|
||||||
|
(1..(users.size-1)).each do |i|
|
||||||
|
(users[i]['tickets'].to_i <= users[i-1]['tickets'].to_i).should.equal(true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should get users with search' do
|
||||||
|
result = request('/user/get-users', {
|
||||||
|
page:1,
|
||||||
|
search:'la',
|
||||||
|
orderBy:'id',
|
||||||
|
csrf_userid: $csrf_userid,
|
||||||
|
csrf_token: $csrf_token
|
||||||
|
})
|
||||||
|
|
||||||
|
(result['status']).should.equal('success')
|
||||||
|
(result['data']['users'][0]['name']).should.equal('laasdasd')
|
||||||
|
(result['data']['users'][1]['name']).should.equal('laeaefae')
|
||||||
|
(result['data']['users'][2]['name']).should.equal('laeczvwaf')
|
||||||
|
(result['data']['users'][3]['name']).should.equal('Cersei Lannister')
|
||||||
|
(result['data']['users'][4]['name']).should.equal('Tyrion Lannister')
|
||||||
|
end
|
||||||
|
end
|
|
@ -2,9 +2,7 @@ describe '/user/get' do
|
||||||
request('/user/logout')
|
request('/user/logout')
|
||||||
Scripts.createUser('user_get@os4.com', 'user_get','User Get')
|
Scripts.createUser('user_get@os4.com', 'user_get','User Get')
|
||||||
|
|
||||||
result = Scripts.login('user_get@os4.com', 'user_get')
|
Scripts.login('user_get@os4.com', 'user_get')
|
||||||
$csrf_userid = result['userId']
|
|
||||||
$csrf_token = result['token']
|
|
||||||
result = request('/ticket/create', {
|
result = request('/ticket/create', {
|
||||||
title: 'Should we pay?',
|
title: 'Should we pay?',
|
||||||
content: 'A Lannister always pays his debts.',
|
content: 'A Lannister always pays his debts.',
|
||||||
|
|
Loading…
Reference in New Issue