configure first day of week for calendar and date-picker (#1952)

This commit is contained in:
Kevin Papst
2020-09-05 18:31:37 +02:00
committed by GitHub
parent ed528eb19a
commit 217960de60
30 changed files with 195 additions and 71 deletions

View File

@@ -444,7 +444,8 @@ class ProfileControllerTest extends ControllerBaseTest
1 => ['name' => UserPreference::INTERNAL_RATE, 'value' => 19.54],
2 => ['name' => UserPreference::TIMEZONE, 'value' => 'America/Creston'],
3 => ['name' => UserPreference::LOCALE, 'value' => 'ar'],
4 => ['name' => UserPreference::SKIN, 'value' => 'blue'],
4 => ['name' => UserPreference::FIRST_WEEKDAY, 'value' => 'sunday'],
5 => ['name' => UserPreference::SKIN, 'value' => 'blue'],
]
]
]);
@@ -467,5 +468,7 @@ class ProfileControllerTest extends ControllerBaseTest
$this->assertEquals('ar', $user->getLanguage());
$this->assertEquals('ar', $user->getLocale());
$this->assertEquals('blue', $user->getPreferenceValue(UserPreference::SKIN));
$this->assertEquals('sunday', $user->getPreferenceValue(UserPreference::FIRST_WEEKDAY));
$this->assertEquals('sunday', $user->getFirstDayOfWeek());
}
}

View File

@@ -40,14 +40,18 @@ class UserPreferenceSubscriberTest extends TestCase
self::assertSame($user, $event->getUser());
$prefs = $sut->getDefaultPreferences($user);
self::assertCount(11, $prefs);
self::assertCount(12, $prefs);
foreach ($prefs as $pref) {
switch ($pref->getName()) {
case UserPreference::HOURLY_RATE:
case UserPreference::INTERNAL_RATE:
self::assertTrue($pref->isEnabled());
break;
break;
case UserPreference::FIRST_WEEKDAY:
self::assertEquals('monday', $pref->getValue());
break;
default:
self::assertTrue($pref->isEnabled());
@@ -66,7 +70,7 @@ class UserPreferenceSubscriberTest extends TestCase
// TODO test merging values
$sut->loadUserPreferences($event);
$prefs = $event->getUser()->getPreferences();
self::assertCount(11, $prefs);
self::assertCount(12, $prefs);
foreach ($prefs as $pref) {
switch ($pref->getName()) {

View File

@@ -89,7 +89,6 @@ class DateTimeFactoryTest extends TestCase
$this->assertEquals($expected->format('Y'), $dateTime->format('Y'));
$this->assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
$expected = new DateTime('now', new DateTimeZone(self::TEST_TIMEZONE));
$dateTime = $sut->getStartOfWeek();
$this->assertEquals(0, $dateTime->format('H'));
@@ -97,8 +96,7 @@ class DateTimeFactoryTest extends TestCase
$this->assertEquals(0, $dateTime->format('s'));
$this->assertEquals(1, $dateTime->format('N'));
$this->assertEquals('Monday', $dateTime->format('l'));
$this->assertEquals($expected->format('m'), $dateTime->format('m'));
$this->assertEquals($expected->format('Y'), $dateTime->format('Y'));
// month and year can be different when the week started at the end of the month
$this->assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
}

View File

@@ -44,7 +44,7 @@ class ExtensionsTest extends TestCase
public function testGetFunctions()
{
$functions = ['class_name'];
$functions = ['class_name', 'iso_day_by_name'];
$sut = $this->getSut();
$twigFunctions = $sut->getFunctions();
$this->assertCount(\count($functions), $twigFunctions);
@@ -156,4 +156,20 @@ sdfsdf' . PHP_EOL . "\n" .
$activity->setColor('#000002');
self::assertEquals('#000002', $sut->color($activity));
}
public function testIsoDayByName()
{
$sut = $this->getSut();
self::assertEquals(1, $sut->getIsoDayByName('MoNdAy'));
self::assertEquals(2, $sut->getIsoDayByName('tuesDAY'));
self::assertEquals(3, $sut->getIsoDayByName('wednesday'));
self::assertEquals(4, $sut->getIsoDayByName('thursday'));
self::assertEquals(5, $sut->getIsoDayByName('FRIday'));
self::assertEquals(6, $sut->getIsoDayByName('saturday'));
self::assertEquals(7, $sut->getIsoDayByName('SUNDAY'));
// invalid days will return 'monday'
self::assertEquals(1, $sut->getIsoDayByName(''));
self::assertEquals(1, $sut->getIsoDayByName('sdfgsdf'));
}
}