mirror of https://github.com/sualko/cloud_bbb
56 lines
1.6 KiB
PHP
56 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace OCA\BigBlueButton\Tests\Unit\Service;
|
|
|
|
use OCA\BigBlueButton\Db\Restriction;
|
|
|
|
|
|
use OCA\BigBlueButton\Db\RestrictionMapper;
|
|
use OCA\BigBlueButton\Db\Room;
|
|
use OCA\BigBlueButton\Service\RestrictionService;
|
|
use OCP\IGroupManager;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class RestrictionServiceTest extends TestCase {
|
|
protected $mapper;
|
|
protected $groupManager;
|
|
protected $service;
|
|
|
|
public function setUp(): void {
|
|
$this->mapper = $this->createMock(RestrictionMapper::class);
|
|
$this->groupManager = $this->createMock(IGroupManager::class);
|
|
|
|
$this->service = new RestrictionService($this->mapper, $this->groupManager);
|
|
}
|
|
|
|
public function testFindByGroupIds() {
|
|
$restriction0 = new Restriction();
|
|
$restriction0->setRoomTypes(\json_encode([Room::ACCESS_INTERNAL]));
|
|
$restriction0->setMaxParticipants(50);
|
|
$restriction0->setAllowRecording(false);
|
|
|
|
$restriction1 = new Restriction();
|
|
$restriction1->setRoomTypes(\json_encode([Room::ACCESS_INTERNAL, Room::ACCESS_INTERNAL_RESTRICTED]));
|
|
$restriction1->setMaxRooms(10);
|
|
$restriction1->setMaxParticipants(100);
|
|
$restriction1->setAllowRecording(true);
|
|
|
|
$this->mapper
|
|
->expects($this->once())
|
|
->method('findByGroupIds')
|
|
->willReturn([$restriction1]);
|
|
|
|
$this->mapper
|
|
->expects($this->once())
|
|
->method('findByGroupId')
|
|
->willReturn($restriction0);
|
|
|
|
$result = $this->service->findByGroupIds([]);
|
|
|
|
$this->assertEquals([Room::ACCESS_INTERNAL], \json_decode($result->getRoomTypes()));
|
|
$this->assertEquals(-1, $result->getMaxRooms());
|
|
$this->assertEquals(100, $result->getMaxParticipants());
|
|
$this->assertTrue($result->getAllowRecording());
|
|
}
|
|
}
|