mirror of
https://github.com/PGYER/codefever.git
synced 2026-05-08 14:36:58 +08:00
63 lines
1.6 KiB
PHP
Executable File
63 lines
1.6 KiB
PHP
Executable File
<?php
|
|
namespace Group;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
use service\AccessControl\UserAccessController;
|
|
|
|
class NormalizeMembersTest extends TestCase {
|
|
public function setUp()
|
|
{
|
|
global $CI;
|
|
$CI->load->model('Group_model', 'groupModel');
|
|
$CI->load->model('User_model', 'userModel');
|
|
}
|
|
|
|
public function membersProvider()
|
|
{
|
|
global $CI;
|
|
|
|
$CI->db->limit(10);
|
|
$data = $CI->db->get('group_members');
|
|
$data = $data->result_array();
|
|
|
|
return [[$data]];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider membersProvider
|
|
*/
|
|
public function testNormalizeMembers($members)
|
|
{
|
|
global $CI;
|
|
|
|
$members = $CI->groupModel->normalizeMembers($members);
|
|
$this->assertIsArray($members);
|
|
|
|
foreach ($members as $member) {
|
|
$this->assertIsArray($member);
|
|
|
|
$this->assertTrue(in_array((int) $member['role'], [
|
|
UserAccessController::ROLE_GUEST,
|
|
UserAccessController::ROLE_REPORTER,
|
|
UserAccessController::ROLE_DEVELOPER,
|
|
UserAccessController::ROLE_MAINTAINER,
|
|
UserAccessController::ROLE_OWNER
|
|
]));
|
|
$this->assertIsInt($member['joined']);
|
|
$this->assertTrue($member['groupMember']);
|
|
$this->assertFalse($member['creatorFlag']);
|
|
$this->assertIsBool($member['deleteFlag']);
|
|
}
|
|
}
|
|
|
|
public function testNormalizeMembers_Empty()
|
|
{
|
|
global $CI;
|
|
|
|
$excepted = [];
|
|
$actual = $CI->groupModel->normalizeMembers([]);
|
|
|
|
$this->assertSame($excepted, $actual);
|
|
}
|
|
}
|