create(); $configuration = new TimesheetConfiguration($loader, ['default_begin' => '13:47']); return new DurationFixedBeginMode($dateTime, $configuration); } public function testDefaultValues() { $sut = $this->createSut(); self::assertFalse($sut->canEditBegin()); self::assertFalse($sut->canEditEnd()); self::assertTrue($sut->canEditDuration()); self::assertFalse($sut->canUpdateTimesWithAPI()); self::assertFalse($sut->canSeeBeginAndEndTimes()); self::assertEquals('duration_fixed_begin', $sut->getId()); } public function testCreate() { $timesheet = new Timesheet(); $timesheet->setBegin(new \DateTime('22:54')); $request = new Request(); $sut = $this->createSut(); self::assertEquals('22:54', $timesheet->getBegin()->format('H:i')); $sut->create($timesheet, $request); self::assertEquals('13:47', $timesheet->getBegin()->format('H:i')); } public function testCreateWithoutBeginInjectsBegin() { $timesheet = new Timesheet(); $request = new Request(); $sut = $this->createSut(); $sut->create($timesheet, $request); self::assertEquals('13:47', $timesheet->getBegin()->format('H:i')); } }