allow to configure default values for users (#919)
This commit is contained in:
@@ -61,11 +61,12 @@ class CustomerControllerTest extends ControllerBaseTest
|
||||
$kernel = self::bootKernel();
|
||||
$container = $kernel->getContainer();
|
||||
$defaults = $container->getParameter('kimai.defaults')['customer'];
|
||||
$this->assertNull($defaults['timezone']);
|
||||
|
||||
$editForm = $client->getCrawler()->filter('form[name=customer_edit_form]')->form();
|
||||
$this->assertEquals($defaults['country'], $editForm->get('customer_edit_form[country]')->getValue());
|
||||
$this->assertEquals($defaults['currency'], $editForm->get('customer_edit_form[currency]')->getValue());
|
||||
$this->assertEquals($defaults['timezone'], $editForm->get('customer_edit_form[timezone]')->getValue());
|
||||
$this->assertEquals(date_default_timezone_get(), $editForm->get('customer_edit_form[timezone]')->getValue());
|
||||
|
||||
$client->submit($form, [
|
||||
'customer_edit_form' => [
|
||||
|
||||
@@ -50,6 +50,7 @@ class SystemConfigurationControllerTest extends ControllerBaseTest
|
||||
return [
|
||||
['form[name=system_configuration_form_timesheet]', $this->createUrl('/admin/system-config/update/timesheet')],
|
||||
['form[name=system_configuration_form_form_customer]', $this->createUrl('/admin/system-config/update/form_customer')],
|
||||
['form[name=system_configuration_form_form_user]', $this->createUrl('/admin/system-config/update/form_user')],
|
||||
['form[name=system_configuration_form_theme]', $this->createUrl('/admin/system-config/update/theme')],
|
||||
['form[name=system_configuration_form_calendar]', $this->createUrl('/admin/system-config/update/calendar')],
|
||||
];
|
||||
@@ -121,7 +122,7 @@ class SystemConfigurationControllerTest extends ControllerBaseTest
|
||||
$this->assertAccessIsGranted($client, '/admin/system-config/');
|
||||
|
||||
$configService = $client->getContainer()->get(SystemConfiguration::class);
|
||||
$this->assertEquals('Europe/Berlin', $configService->find('defaults.customer.timezone'));
|
||||
$this->assertNull($configService->find('defaults.customer.timezone'));
|
||||
$this->assertEquals('DE', $configService->find('defaults.customer.country'));
|
||||
$this->assertEquals('EUR', $configService->find('defaults.customer.currency'));
|
||||
|
||||
@@ -147,6 +148,38 @@ class SystemConfigurationControllerTest extends ControllerBaseTest
|
||||
$this->assertEquals('GBP', $configService->find('defaults.customer.currency'));
|
||||
}
|
||||
|
||||
public function testUpdateUserConfig()
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser(User::ROLE_SUPER_ADMIN);
|
||||
$this->assertAccessIsGranted($client, '/admin/system-config/');
|
||||
|
||||
$configService = $client->getContainer()->get(SystemConfiguration::class);
|
||||
$this->assertNull($configService->find('defaults.user.timezone'));
|
||||
$this->assertNull($configService->find('defaults.user.theme'));
|
||||
$this->assertEquals('en', $configService->find('defaults.user.language'));
|
||||
|
||||
$form = $client->getCrawler()->filter('form[name=system_configuration_form_form_user]')->form();
|
||||
$client->submit($form, [
|
||||
'system_configuration_form_form_user' => [
|
||||
'configuration' => [
|
||||
['name' => 'defaults.user.timezone', 'value' => 'Pacific/Tahiti'],
|
||||
['name' => 'defaults.user.language', 'value' => 'ru'],
|
||||
['name' => 'defaults.user.theme', 'value' => 'purple'],
|
||||
]
|
||||
]
|
||||
]);
|
||||
|
||||
$this->assertIsRedirect($client, $this->createUrl('/admin/system-config/'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
$this->assertHasFlashSaveSuccess($client);
|
||||
|
||||
$configService = $client->getContainer()->get(SystemConfiguration::class);
|
||||
$this->assertEquals('Pacific/Tahiti', $configService->find('defaults.user.timezone'));
|
||||
$this->assertEquals('purple', $configService->find('defaults.user.theme'));
|
||||
$this->assertEquals('ru', $configService->find('defaults.user.language'));
|
||||
}
|
||||
|
||||
public function testUpdateCustomerConfigValidation()
|
||||
{
|
||||
$this->assertFormHasValidationError(
|
||||
|
||||
Reference in New Issue
Block a user