2024-01-03 10:01:25 +08:00

152 lines
4.8 KiB
PHP
Executable File

<?php
/*
* This file is part of the mingyoung/dingtalk.
*
* (c) 张铭阳 <mingyoungcheung@gmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace EasyDingTalk\Tests\User;
use EasyDingTalk\Tests\TestCase;
use EasyDingTalk\User\Client;
class ClientTest extends TestCase
{
/** @test */
public function get()
{
$this->make(Client::class)->get('mingyoung')
->assertUri('user/get')->assertQuery(['userid' => 'mingyoung', 'lang' => null]);
$this->make(Client::class)->get('mingyoung', 'zh-CN')
->assertUri('user/get')->assertQuery(['userid' => 'mingyoung', 'lang' => 'zh-CN']);
}
/** @test */
public function getUserIds()
{
$this->make(Client::class)->getUserIds('123')
->assertUri('user/getDeptMember')->assertQuery(['deptId' => '123']);
}
/** @test */
public function getUsers()
{
$this->make(Client::class)->getUsers('123', 10, 20)
->assertUri('user/simplelist')->assertQuery(['department_id' => '123', 'offset' => 10, 'size' => 20, 'order' => null, 'lang' => null]);
}
/** @test */
public function getDetailedUsers()
{
$this->make(Client::class)->getDetailedUsers('123', 10, 20)
->assertUri('user/listbypage')->assertQuery(['department_id' => '123', 'offset' => 10, 'size' => 20, 'order' => null, 'lang' => null]);
}
/** @test */
public function administrators()
{
$this->make(Client::class)->administrators()
->assertUri('user/get_admin');
}
/** @test */
public function administratorScope()
{
$this->make(Client::class)->administratorScope('mingyoung')
->assertUri('topapi/user/get_admin_scope')->assertQuery(['userid' => 'mingyoung']);
}
/** @test */
public function getUseridByUnionid()
{
$this->make(Client::class)->getUseridByUnionid('mingyoung')
->assertUri('user/getUseridByUnionid')->assertQuery(['unionid' => 'mingyoung']);
}
/** @test */
public function create()
{
$this->make(Client::class)->create(['userid' => 'mingyoung', 'name' => 'MINGYOUNG'])
->assertUri('user/create')->assertPostJson([
'userid' => 'mingyoung', 'name' => 'MINGYOUNG',
]);
}
/** @test */
public function update()
{
$this->make(Client::class)->update('mingyoung', ['name' => 'MINGYOUNG'])
->assertUri('user/update')->assertPostJson([
'userid' => 'mingyoung',
'name' => 'MINGYOUNG',
]);
}
/** @test */
public function delete()
{
$this->make(Client::class)->delete('mingyoung')
->assertUri('user/delete')->assertQuery(['userid' => 'mingyoung']);
}
/** @test */
public function getUserByCode()
{
$this->make(Client::class)->getUserByCode('code')
->assertUri('user/getuserinfo')->assertQuery(['code' => 'code']);
}
/** @test */
public function addRoles()
{
$this->make(Client::class)->addRoles('user1,user2', 'role1,role2')
->assertUri('topapi/role/addrolesforemps')->assertPostJson(['userIds' => 'user1,user2', 'roleIds' => 'role1,role2']);
$this->make(Client::class)->addRoles(['user1', 'user2'], ['role1', 'role2'])
->assertUri('topapi/role/addrolesforemps')->assertPostJson(['userIds' => 'user1,user2', 'roleIds' => 'role1,role2']);
}
/** @test */
public function removeRoles()
{
$this->make(Client::class)->removeRoles('user1,user2', 'role1,role2')
->assertUri('topapi/role/removerolesforemps')->assertPostJson(['userIds' => 'user1,user2', 'roleIds' => 'role1,role2']);
$this->make(Client::class)->removeRoles(['user1', 'user2'], ['role1', 'role2'])
->assertUri('topapi/role/removerolesforemps')->assertPostJson(['userIds' => 'user1,user2', 'roleIds' => 'role1,role2']);
}
/** @test */
public function getUserCount()
{
$this->make(Client::class)->getCount()
->assertUri('user/get_org_user_count')->assertQuery(['onlyActive' => 0]);
}
/** @test */
public function getActivatedCount()
{
$this->make(Client::class)->getActivatedCount()
->assertUri('user/get_org_user_count')->assertQuery(['onlyActive' => 1]);
}
/** @test */
public function getUserIdByPhone()
{
$this->make(Client::class)->getUserIdByPhone()
->assertUri('user/get_by_mobile')->assertQuery(['phone' => '18888888888']);
}
/** @test */
public function getInactiveUsers()
{
$this->make(Client::class)->getInactiveUsers()
->assertUri('topapi/inactive/user/get')->assertQuery(['query_date' => '20190808', 'offset' => 0, 'size' => 100]);
}
}