Release 2.39 (#5604)
* prepare audit via annotation * default calendar slot label distance of 1h + replace freestyle config with dropdown * added missing return definition in callbacks * refactor view name handling * dispatch calendar view changes and push them into the URL to be able to reload the poage * bump packages * fix timezone issue in calendar sum calculation * fixes #5618 resetRates() * show expected daily hours in working-contract screen
This commit is contained in:
@@ -68,7 +68,7 @@ class ActivityControllerTest extends AbstractControllerBaseTestCase
|
||||
|
||||
$fixture = new ActivityFixtures();
|
||||
$fixture->setAmount(5);
|
||||
$fixture->setCallback(function (Activity $activity) {
|
||||
$fixture->setCallback(function (Activity $activity): void {
|
||||
$activity->setVisible(true);
|
||||
$activity->setComment('I am a foobar with tralalalala some more content');
|
||||
$activity->setMetaField((new ActivityMeta())->setName('location')->setValue('homeoffice'));
|
||||
@@ -111,7 +111,7 @@ class ActivityControllerTest extends AbstractControllerBaseTestCase
|
||||
|
||||
$fixture = new ActivityFixtures();
|
||||
$fixture->setAmount(5);
|
||||
$fixture->setCallback(function (Activity $activity) {
|
||||
$fixture->setCallback(function (Activity $activity): void {
|
||||
$activity->setVisible(true);
|
||||
$activity->setComment('I am a foobar with tralalalala some more content');
|
||||
$activity->setMetaField((new ActivityMeta())->setName('location')->setValue('homeoffice'));
|
||||
|
||||
@@ -9,7 +9,11 @@
|
||||
|
||||
namespace App\Tests\Controller;
|
||||
|
||||
use App\DataFixtures\UserFixtures;
|
||||
use App\Entity\User;
|
||||
use App\Repository\UserRepository;
|
||||
use App\WorkingTime\Calculator\WorkingTimeCalculatorDay;
|
||||
use App\WorkingTime\Mode\WorkingTimeModeDay;
|
||||
use PHPUnit\Framework\Attributes\Group;
|
||||
|
||||
#[Group('integration')]
|
||||
@@ -31,6 +35,34 @@ class ContractControllerTest extends AbstractControllerBaseTestCase
|
||||
self::assertEquals(0, $node->count());
|
||||
}
|
||||
|
||||
public function testIndexActionWithWorkContract(): void
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser(User::ROLE_USER);
|
||||
|
||||
/** @var UserRepository $repository */
|
||||
$repository = $this->getPrivateService(UserRepository::class);
|
||||
$user = $this->loadUserFromDatabase(UserFixtures::USERNAME_USER);
|
||||
$user->setWorkContractMode(WorkingTimeModeDay::ID);
|
||||
$user->setPreferenceValue(WorkingTimeCalculatorDay::WORK_HOURS_MONDAY, '28800');
|
||||
$user->setPreferenceValue(WorkingTimeCalculatorDay::WORK_HOURS_TUESDAY, '28800');
|
||||
$user->setPreferenceValue(WorkingTimeCalculatorDay::WORK_HOURS_WEDNESDAY, '28800');
|
||||
$user->setPreferenceValue(WorkingTimeCalculatorDay::WORK_HOURS_THURSDAY, '25200');
|
||||
$user->setPreferenceValue(WorkingTimeCalculatorDay::WORK_HOURS_FRIDAY, '19800');
|
||||
$user->setPreferenceValue(WorkingTimeCalculatorDay::WORK_HOURS_SATURDAY, '0');
|
||||
$user->setPreferenceValue(WorkingTimeCalculatorDay::WORK_HOURS_SUNDAY, '0');
|
||||
$repository->saveUser($user);
|
||||
|
||||
$this->assertAccessIsGranted($client, '/contract');
|
||||
$content = $client->getResponse()->getContent();
|
||||
self::assertNotFalse($content);
|
||||
|
||||
$node = $client->getCrawler()->filter('table#working_times_details');
|
||||
self::assertEquals(1, $node->count());
|
||||
self::assertStringContainsString('7:00', $content);
|
||||
self::assertStringContainsString('8:00', $content);
|
||||
self::assertStringContainsString('5:30', $content);
|
||||
}
|
||||
|
||||
public function testTeamleadCanChangeUser(): void
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser(User::ROLE_TEAMLEAD);
|
||||
|
||||
@@ -68,7 +68,7 @@ class CustomerControllerTest extends AbstractControllerBaseTestCase
|
||||
|
||||
$fixture = new CustomerFixtures();
|
||||
$fixture->setAmount(5);
|
||||
$fixture->setCallback(function (Customer $customer) {
|
||||
$fixture->setCallback(function (Customer $customer): void {
|
||||
$customer->setVisible(true);
|
||||
$customer->setComment('I am a foobar with tralalalala some more content');
|
||||
$customer->setMetaField((new CustomerMeta())->setName('location')->setValue('homeoffice'));
|
||||
|
||||
@@ -66,7 +66,7 @@ class ExportControllerTest extends AbstractControllerBaseTestCase
|
||||
->setUser($user)
|
||||
->setAmount(20)
|
||||
->setStartDate($begin)
|
||||
->setCallback(function (Timesheet $timesheet) use ($team, $em) {
|
||||
->setCallback(function (Timesheet $timesheet) use ($team, $em): void {
|
||||
$team->addProject($timesheet->getProject());
|
||||
$em->persist($team);
|
||||
})
|
||||
|
||||
@@ -73,7 +73,7 @@ class ProjectControllerTest extends AbstractControllerBaseTestCase
|
||||
$fixture = new ProjectFixtures();
|
||||
$fixture->setAmount(5);
|
||||
$i = 0;
|
||||
$fixture->setCallback(function (Project $project) use (&$i) {
|
||||
$fixture->setCallback(function (Project $project) use (&$i): void {
|
||||
$project->setVisible(true);
|
||||
switch ($i++) {
|
||||
case 0:
|
||||
@@ -137,7 +137,7 @@ class ProjectControllerTest extends AbstractControllerBaseTestCase
|
||||
|
||||
$fixture = new ProjectFixtures();
|
||||
$fixture->setAmount(5);
|
||||
$fixture->setCallback(function (Project $project) {
|
||||
$fixture->setCallback(function (Project $project): void {
|
||||
$project->setVisible(true);
|
||||
$project->setComment('I am a foobar with tralalalala some more content');
|
||||
$project->setMetaField((new ProjectMeta())->setName('location')->setValue('homeoffice'));
|
||||
|
||||
@@ -46,7 +46,7 @@ class CustomerMonthlyProjectsControllerTest extends AbstractControllerBaseTestCa
|
||||
$projects->setCustomers($customers);
|
||||
$projects->setAmount(2);
|
||||
$projects->setIsVisible(true);
|
||||
$projects->setCallback(function (Project $project) {
|
||||
$projects->setCallback(function (Project $project): void {
|
||||
$project->setIsMonthlyBudget();
|
||||
});
|
||||
$this->importFixture($projects);
|
||||
|
||||
@@ -40,7 +40,7 @@ class ProjectDateRangeControllerTest extends AbstractControllerBaseTestCase
|
||||
$projects->setCustomers($customers);
|
||||
$projects->setAmount(2);
|
||||
$projects->setIsVisible(true);
|
||||
$projects->setCallback(function (Project $project) {
|
||||
$projects->setCallback(function (Project $project): void {
|
||||
$project->setIsMonthlyBudget();
|
||||
});
|
||||
$this->importFixture($projects);
|
||||
|
||||
@@ -49,7 +49,7 @@ class TeamControllerTest extends AbstractControllerBaseTestCase
|
||||
$client = $this->getClientForAuthenticatedUser(User::ROLE_ADMIN);
|
||||
$fixture = new TeamFixtures();
|
||||
$fixture->setAmount(5);
|
||||
$fixture->setCallback(function (Team $team) {
|
||||
$fixture->setCallback(function (Team $team): void {
|
||||
$team->setName($team->getName() . '- fantastic team with foooo bar magic');
|
||||
});
|
||||
$this->importFixture($fixture);
|
||||
|
||||
@@ -108,7 +108,7 @@ class TimesheetControllerTest extends AbstractControllerBaseTestCase
|
||||
$fixture->setAmount(5);
|
||||
$fixture->setUser($this->getUserByRole(User::ROLE_USER));
|
||||
$fixture->setStartDate($start);
|
||||
$fixture->setCallback(function (Timesheet $timesheet) use ($tags) {
|
||||
$fixture->setCallback(function (Timesheet $timesheet) use ($tags): void {
|
||||
$timesheet->setDescription('I am a foobar with tralalalala some more content');
|
||||
$timesheet->setMetaField((new TimesheetMeta())->setName('location')->setValue('homeoffice'));
|
||||
$timesheet->setMetaField((new TimesheetMeta())->setName('feature')->setValue('timetracking'));
|
||||
@@ -142,7 +142,7 @@ class TimesheetControllerTest extends AbstractControllerBaseTestCase
|
||||
$fixture = new TimesheetFixtures();
|
||||
$fixture->setAmount(15);
|
||||
$fixture->setUser($this->getUserByRole(User::ROLE_USER));
|
||||
$fixture->setCallback(function (Timesheet $timesheet) {
|
||||
$fixture->setCallback(function (Timesheet $timesheet): void {
|
||||
$duration = rand(3600, 36000);
|
||||
$begin = new \DateTime('-15 days');
|
||||
$end = clone $begin;
|
||||
@@ -442,7 +442,7 @@ class TimesheetControllerTest extends AbstractControllerBaseTestCase
|
||||
$end = new \DateTime('2018-08-02T20:30:00');
|
||||
|
||||
$fixture = new TimesheetFixtures();
|
||||
$fixture->setCallback(function (Timesheet $timesheet) use ($begin, $end) {
|
||||
$fixture->setCallback(function (Timesheet $timesheet) use ($begin, $end): void {
|
||||
$timesheet->setBegin($begin);
|
||||
$timesheet->setEnd($end);
|
||||
});
|
||||
@@ -474,7 +474,7 @@ class TimesheetControllerTest extends AbstractControllerBaseTestCase
|
||||
$fixture->setAmount(1);
|
||||
$fixture->setIsGlobal(true);
|
||||
$fixture->setIsVisible(true);
|
||||
$fixture->setCallback(function (Activity $activity) {
|
||||
$fixture->setCallback(function (Activity $activity): void {
|
||||
$activity->setBudget(1000);
|
||||
$activity->setTimeBudget(3600);
|
||||
});
|
||||
@@ -523,7 +523,7 @@ class TimesheetControllerTest extends AbstractControllerBaseTestCase
|
||||
$fixture->setAmount(1);
|
||||
$fixture->setIsGlobal(true);
|
||||
$fixture->setIsVisible(true);
|
||||
$fixture->setCallback(function (Activity $activity) {
|
||||
$fixture->setCallback(function (Activity $activity): void {
|
||||
$activity->setBudget(1000);
|
||||
$activity->setTimeBudget(3600);
|
||||
});
|
||||
@@ -813,7 +813,7 @@ class TimesheetControllerTest extends AbstractControllerBaseTestCase
|
||||
$fixture->setAmountRunning(0);
|
||||
$fixture->setUser($this->getUserByRole(User::ROLE_USER));
|
||||
$fixture->setStartDate($dateTime->createDateTime());
|
||||
$fixture->setCallback(function (Timesheet $timesheet) {
|
||||
$fixture->setCallback(function (Timesheet $timesheet): void {
|
||||
$timesheet->setDescription('Testing is fun!');
|
||||
$begin = clone $timesheet->getBegin();
|
||||
$begin->setTime(0, 0, 0);
|
||||
|
||||
@@ -97,7 +97,7 @@ class TimesheetTeamControllerTest extends AbstractControllerBaseTestCase
|
||||
$fixture->setAmount(5);
|
||||
$fixture->setUser($this->getUserByRole(User::ROLE_USER));
|
||||
$fixture->setStartDate($start);
|
||||
$fixture->setCallback(function (Timesheet $timesheet) {
|
||||
$fixture->setCallback(function (Timesheet $timesheet): void {
|
||||
$timesheet->setDescription('I am a foobar with tralalalala some more content');
|
||||
$timesheet->setMetaField((new TimesheetMeta())->setName('location')->setValue('homeoffice'));
|
||||
$timesheet->setMetaField((new TimesheetMeta())->setName('feature')->setValue('timetracking'));
|
||||
@@ -428,7 +428,7 @@ class TimesheetTeamControllerTest extends AbstractControllerBaseTestCase
|
||||
$fixture->setAmountRunning(0);
|
||||
$fixture->setUser($this->getUserByRole(User::ROLE_USER));
|
||||
$fixture->setStartDate($dateTime->createDateTime());
|
||||
$fixture->setCallback(function (Timesheet $timesheet) {
|
||||
$fixture->setCallback(function (Timesheet $timesheet): void {
|
||||
$timesheet->setDescription('Testing is fun!');
|
||||
$begin = clone $timesheet->getBegin();
|
||||
$begin->setTime(0, 0, 0);
|
||||
|
||||
Reference in New Issue
Block a user