Files
FOSSBilling/tests/modules/Theme/Controller/AdminTest.php
T
Belle Aerni 50043e6211 Run Rector against our tests (#1761)
* Update rector config to include tests

* Run Rector against the tests

* Delete test-results

* Update .gitignore

* Correctly set the PHP min to 8.1, split the configs

* Corrected PHPDoc

* Deleted tests we can't really get to pass

PHPunit is hard-coded to fail when a class has a return type of `never`, which is the correct return type of our redirect function (and rightfully so).

No way to disable the exception as far as we can tell
2023-11-11 18:41:09 +00:00

88 lines
2.8 KiB
PHP

<?php
namespace Box\Mod\Theme\Controller;
class AdminTest extends \BBTestCase {
public function testDi()
{
$controller = new \Box\Mod\Theme\Controller\Admin();
$di = new \Pimple\Container();
$db = $this->getMockBuilder('Box_Database')->getMock();
$di['db'] = $db;
$controller->setDi($di);
$result = $controller->getDi();
$this->assertEquals($di, $result);
}
public function testregister()
{
$boxAppMock = $this->getMockBuilder('\Box_App')->disableOriginalConstructor()->getMock();
$boxAppMock->expects($this->exactly(1))
->method('get');
$controller = new \Box\Mod\Theme\Controller\Admin();
$controller->register($boxAppMock);
}
public function testget_theme()
{
$boxAppMock = $this->getMockBuilder('\Box_App')->disableOriginalConstructor()->getMock();
$boxAppMock->expects($this->atLeastOnce())
->method('render')
->with('mod_theme_preset')
->willReturn('Rendering ...');
$themeMock = $this->getMockBuilder('\\' . \Box\Mod\Theme\Model\Theme::class)->disableOriginalConstructor()->getMock();
$themeMock->expects($this->atLeastOnce())
->method('getSettingsPageHtml')
->willReturn('');
$themeMock->expects($this->atLeastOnce())
->method('getName');
$themeMock->expects($this->atLeastOnce())
->method('getUploadedAssets');
$themeMock->expects($this->atLeastOnce())
->method('getSnippets');
$themeMock->expects($this->atLeastOnce())
->method('isAssetsPathWritable')
->willReturn(false);
$themeServiceMock = $this->getMockBuilder('\\' . \Box\Mod\Theme\Service::class)->getMock();
$themeServiceMock->expects($this->atLeastOnce())
->method('getTheme')
->willReturn($themeMock);
$themeServiceMock->expects($this->atLeastOnce())
->method('getCurrentThemePreset')
->willReturn('default');
$themeServiceMock->expects($this->atLeastOnce())
->method('getThemeSettings');
$themeServiceMock->expects($this->atLeastOnce())
->method('getThemePresets');
$modMock = $this->getMockBuilder('\Box_Mod')->disableOriginalConstructor()->getMock();
$modMock->expects($this->atLeastOnce())
->method('getService')
->willReturn($themeServiceMock);
$di = new \Pimple\Container();
$di['mod'] = $di->protect(function ($name) use($modMock){
if ($name == 'theme')
{
return $modMock;
}
});
$di['is_admin_logged'] = true;
$controller = new \Box\Mod\Theme\Controller\Admin();
$controller->setDi($di);
$controller->get_theme($boxAppMock, 'huraga');
}
}