cloud_bbb/tests/Unit/Service/RestrictionServiceTest.php

56 lines
1.6 KiB
PHP
Raw Permalink Normal View History

2020-08-28 11:56:47 +02:00
<?php
namespace OCA\BigBlueButton\Tests\Unit\Service;
2020-09-23 12:33:09 +02:00
use OCA\BigBlueButton\Db\Restriction;
2020-08-28 11:56:47 +02:00
use OCA\BigBlueButton\Db\RestrictionMapper;
2020-09-23 12:33:09 +02:00
use OCA\BigBlueButton\Db\Room;
use OCA\BigBlueButton\Service\RestrictionService;
use OCP\IGroupManager;
2020-09-23 12:33:09 +02:00
use PHPUnit\Framework\TestCase;
2020-08-28 11:56:47 +02:00
class RestrictionServiceTest extends TestCase {
protected $mapper;
protected $groupManager;
2020-08-28 11:56:47 +02:00
protected $service;
public function setUp(): void {
$this->mapper = $this->createMock(RestrictionMapper::class);
$this->groupManager = $this->createMock(IGroupManager::class);
2020-08-28 11:56:47 +02:00
$this->service = new RestrictionService($this->mapper, $this->groupManager);
2020-08-28 11:56:47 +02:00
}
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());
}
}