icingaweb2/test/php/application/forms/Config/UserBackendReorderFormTest.php
Eric Lippmann 662de28f85 License source files as GPL-3.0-or-later
Add SPDX license headers and mark source files as GPL-3.0-or-later to
preserve the option to relicense under later GPL versions.
2026-03-26 17:49:26 +01:00

62 lines
1.7 KiB
PHP

<?php
// SPDX-FileCopyrightText: 2018 Icinga GmbH <https://icinga.com>
// SPDX-License-Identifier: GPL-3.0-or-later
namespace Tests\Icinga\Forms\Config;
use Icinga\Test\BaseTestCase;
use Icinga\Application\Config;
use Icinga\Forms\Config\UserBackendConfigForm;
use Icinga\Forms\Config\UserBackendReorderForm;
class UserBackendConfigFormWithoutSave extends UserBackendConfigForm
{
public static $newConfig;
public function save()
{
self::$newConfig = $this->config;
return false;
}
}
class UserBackendReorderFormProvidingConfigFormWithoutSave extends UserBackendReorderForm
{
public function getConfigForm()
{
$form = new UserBackendConfigFormWithoutSave();
$form->setIniConfig($this->config);
return $form;
}
}
class UserBackendReorderFormTest extends BaseTestCase
{
public function testMoveBackend()
{
$config = Config::fromArray(
array(
'test1' => '',
'test2' => '',
'test3' => ''
)
);
$this->getRequestMock()->shouldReceive('getMethod')->andReturn('POST')
->shouldReceive('isPost')->andReturn(true)
->shouldReceive('getPost')->andReturn(array('backend_newpos' => 'test3|1'));
$form = new UserBackendReorderFormProvidingConfigFormWithoutSave();
$form->setIniConfig($config);
$form->setTokenDisabled();
$form->setUidDisabled();
$form->handleRequest();
$this->assertEquals(
array('test1', 'test3', 'test2'),
UserBackendConfigFormWithoutSave::$newConfig->keys(),
'Moving elements with UserBackendReorderForm does not seem to properly work'
);
}
}