element = new SessionElement(); } /** * @covers Modules\HumanResourceTimeRecording\Models\SessionElement * @group module */ public function testDefault() : void { self::assertEquals(0, $this->element->id); self::assertEquals(0, $this->element->session->id); self::assertInstanceOf('\DateTime', $this->element->datetime); self::assertEquals(ClockingStatus::START, $this->element->getStatus()); } /** * @covers Modules\HumanResourceTimeRecording\Models\SessionElement * @group module */ public function testStatusInputOutput() : void { $this->element->setStatus(ClockingStatus::END); self::assertEquals(ClockingStatus::END, $this->element->getStatus()); } /** * @covers Modules\HumanResourceTimeRecording\Models\SessionElement * @group module */ public function testSerialize() : void { $this->element->session = new NullSession(2); $this->element->setStatus(ClockingStatus::END); $serialized = $this->element->jsonSerialize(); unset($serialized['datetime']); unset($serialized['session']); self::assertEquals( [ 'id' => 0, 'status' => ClockingStatus::END, ], $serialized ); } }