create('punch'); $modes = $sut->getModes(); self::assertGreaterThanOrEqual(4, $modes); $ids = []; foreach ($modes as $mode) { $ids[] = $mode->getId(); } self::assertContains('default', $ids); self::assertContains('punch', $ids); self::assertContains('duration_fixed_begin', $ids); } public function testGetActiveMode() { $sut = (new TrackingModeServiceFactory($this))->create('punch'); self::assertInstanceOf(PunchInOutMode::class, $sut->getActiveMode()); } public function testGetActiveModeThrowsExceptionOnlyInvalidMode() { $this->expectException(ServiceNotFoundException::class); $this->expectExceptionMessage('You have requested a non-existent service "xxxxxx"'); $sut = (new TrackingModeServiceFactory($this))->create('xxxxxx'); $sut->getActiveMode(); } }