Release 2.19 (#4922)
This commit is contained in:
@@ -24,11 +24,13 @@ class QuickEntryControllerTest extends ControllerBaseTest
|
||||
public function testIndexAction(): void
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser();
|
||||
$this->request($client, '/quick_entry');
|
||||
$this->request($client, '/quick_entry/');
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
|
||||
$node = $client->getCrawler()->filter('section.content form[name=quick_entry_form]');
|
||||
$node = $client->getCrawler()->filter('form[name=quick_entry_weekrange_form]');
|
||||
self::assertEquals(1, $node->filter('div.btn-group.week-picker-btn-group')->count());
|
||||
|
||||
$node = $client->getCrawler()->filter('section.content form[name=quick_entry_form]');
|
||||
self::assertEquals(1, $node->filter('input.btn-primary[type=submit]')->count());
|
||||
|
||||
$addBtn = $node->filter('button.btn-success[type=button]');
|
||||
@@ -62,11 +64,10 @@ class QuickEntryControllerTest extends ControllerBaseTest
|
||||
$fixture->setStartDate(new \DateTime('-7 days'));
|
||||
$this->importFixture($fixture);
|
||||
|
||||
$this->request($client, '/quick_entry');
|
||||
$this->request($client, '/quick_entry/');
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
|
||||
$node = $client->getCrawler()->filter('section.content form[name=quick_entry_form]');
|
||||
self::assertEquals(1, $node->filter('div.btn-group.week-picker-btn-group')->count());
|
||||
$node = $client->getCrawler()->filter('form[name=quick_entry_form]');
|
||||
self::assertEquals(1, $node->filter('input.btn-primary[type=submit]')->count());
|
||||
|
||||
$addBtn = $node->filter('button.btn-success[type=button]');
|
||||
|
||||
@@ -23,11 +23,12 @@ class QuickEntryModelTest extends TestCase
|
||||
{
|
||||
public function testEmptyModel(): void
|
||||
{
|
||||
$sut = new QuickEntryModel();
|
||||
$user = new User();
|
||||
$sut = new QuickEntryModel($user);
|
||||
self::assertFalse($sut->isPrototype());
|
||||
self::assertNull($sut->getProject());
|
||||
self::assertNull($sut->getActivity());
|
||||
self::assertNull($sut->getUser());
|
||||
self::assertEquals($user, $sut->getUser());
|
||||
self::assertEquals([], $sut->getNewTimesheet());
|
||||
self::assertEquals([], $sut->getTimesheets());
|
||||
self::assertNull($sut->getLatestEntry());
|
||||
@@ -103,7 +104,8 @@ class QuickEntryModelTest extends TestCase
|
||||
|
||||
public function testHasExistingTimesheet(): void
|
||||
{
|
||||
$sut = new QuickEntryModel();
|
||||
$user = new User();
|
||||
$sut = new QuickEntryModel($user);
|
||||
|
||||
self::assertFalse($sut->hasExistingTimesheet());
|
||||
$mock = $this->createMock(Timesheet::class);
|
||||
@@ -128,11 +130,12 @@ class QuickEntryModelTest extends TestCase
|
||||
|
||||
public function testPrototype(): void
|
||||
{
|
||||
$sut = new QuickEntryModel();
|
||||
$user = new User();
|
||||
$sut = new QuickEntryModel($user);
|
||||
$sut->markAsPrototype();
|
||||
self::assertTrue($sut->isPrototype());
|
||||
|
||||
$sut = new QuickEntryModel();
|
||||
$sut = new QuickEntryModel($user);
|
||||
$sut->markAsPrototype();
|
||||
$mock = $this->createMock(Timesheet::class);
|
||||
$mock->method('getId')->willReturn(1);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
namespace App\Tests\Model;
|
||||
|
||||
use App\Entity\User;
|
||||
use App\Model\QuickEntryModel;
|
||||
use App\Model\QuickEntryWeek;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
@@ -27,7 +28,7 @@ class QuickEntryWeekTest extends TestCase
|
||||
self::assertEquals([], $sut->getRows());
|
||||
|
||||
$rows = [
|
||||
new QuickEntryModel()
|
||||
new QuickEntryModel(new User())
|
||||
];
|
||||
|
||||
$sut->setRows($rows);
|
||||
|
||||
@@ -64,7 +64,7 @@ class ExtensionsTest extends TestCase
|
||||
|
||||
public function testGetFunctions(): void
|
||||
{
|
||||
$functions = ['class_name', 'iso_day_by_name', 'random_color'];
|
||||
$functions = ['report_date', 'class_name', 'iso_day_by_name', 'random_color'];
|
||||
$sut = $this->getSut();
|
||||
$twigFunctions = $sut->getFunctions();
|
||||
$this->assertCount(\count($functions), $twigFunctions);
|
||||
|
||||
@@ -483,6 +483,33 @@ class LocaleFormatExtensionsTest extends TestCase
|
||||
self::assertEquals($expected, $sut->getJavascriptConfiguration($user));
|
||||
}
|
||||
|
||||
public function testJavascriptConfigurationsForAnonymous(): void
|
||||
{
|
||||
$expected = [
|
||||
'formatDuration' => '%h:%m',
|
||||
'formatDate' => 'Y-m-d',
|
||||
'defaultColor' => '#d2d6de',
|
||||
'twentyFourHours' => false,
|
||||
'updateBrowserTitle' => false,
|
||||
'timezone' => 'Europe/Vienna',
|
||||
'locale' => 'en',
|
||||
'language' => 'en',
|
||||
'user' => [
|
||||
'id' => null,
|
||||
'name' => 'anonymous',
|
||||
'admin' => false,
|
||||
'superAdmin' => false,
|
||||
],
|
||||
];
|
||||
|
||||
$security = $this->createMock(Security::class);
|
||||
|
||||
$sut = new LocaleFormatExtensions(new LocaleService($this->localeEn), $security);
|
||||
$sut->setLocale('en');
|
||||
|
||||
self::assertEquals($expected, $sut->getJavascriptConfiguration());
|
||||
}
|
||||
|
||||
public function testDurationDecimal(): void
|
||||
{
|
||||
$record = $this->getTimesheet(9437);
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace App\Tests\Validator\Constraints;
|
||||
use App\Entity\Activity;
|
||||
use App\Entity\Project;
|
||||
use App\Entity\Timesheet;
|
||||
use App\Entity\User;
|
||||
use App\Model\QuickEntryModel as QuickEntryModelEntity;
|
||||
use App\Validator\Constraints\QuickEntryModel;
|
||||
use App\Validator\Constraints\QuickEntryModelValidator;
|
||||
@@ -47,7 +48,8 @@ class QuickEntryModelValidatorTest extends ConstraintValidatorTestCase
|
||||
|
||||
public function testTriggersOnMissingProjectAndActivity(): void
|
||||
{
|
||||
$model = new QuickEntryModelEntity();
|
||||
$user = new User();
|
||||
$model = new QuickEntryModelEntity($user);
|
||||
$timesheet = new Timesheet();
|
||||
$timesheet->setBegin(new \DateTime());
|
||||
$timesheet->setBegin(new \DateTime('+ 1 hour'));
|
||||
@@ -66,7 +68,8 @@ class QuickEntryModelValidatorTest extends ConstraintValidatorTestCase
|
||||
|
||||
public function testTriggersOnMissingActivity(): void
|
||||
{
|
||||
$model = new QuickEntryModelEntity();
|
||||
$user = new User();
|
||||
$model = new QuickEntryModelEntity($user);
|
||||
$model->setProject(new Project());
|
||||
$timesheet = new Timesheet();
|
||||
$timesheet->setBegin(new \DateTime());
|
||||
@@ -83,7 +86,8 @@ class QuickEntryModelValidatorTest extends ConstraintValidatorTestCase
|
||||
|
||||
public function testTriggersOnMissingProject(): void
|
||||
{
|
||||
$model = new QuickEntryModelEntity();
|
||||
$user = new User();
|
||||
$model = new QuickEntryModelEntity($user);
|
||||
$model->setActivity(new Activity());
|
||||
$timesheet = new Timesheet();
|
||||
$timesheet->setBegin(new \DateTime());
|
||||
@@ -100,7 +104,8 @@ class QuickEntryModelValidatorTest extends ConstraintValidatorTestCase
|
||||
|
||||
public function testDoesNotTriggerOnPrototype(): void
|
||||
{
|
||||
$model = new QuickEntryModelEntity();
|
||||
$user = new User();
|
||||
$model = new QuickEntryModelEntity($user);
|
||||
|
||||
$this->validator->validate($model, new QuickEntryModel());
|
||||
|
||||
@@ -109,7 +114,8 @@ class QuickEntryModelValidatorTest extends ConstraintValidatorTestCase
|
||||
|
||||
public function testDoesNotTriggerOnProperlyFilled(): void
|
||||
{
|
||||
$model = new QuickEntryModelEntity();
|
||||
$user = new User();
|
||||
$model = new QuickEntryModelEntity($user);
|
||||
$model->setActivity(new Activity());
|
||||
$model->setProject(new Project());
|
||||
$timesheet = new Timesheet();
|
||||
|
||||
Reference in New Issue
Block a user