element = new SessionElement(); } #[\PHPUnit\Framework\Attributes\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->status); } #[\PHPUnit\Framework\Attributes\Group('module')] public function testStatusInputOutput() : void { $this->element->status = ClockingStatus::END; self::assertEquals(ClockingStatus::END, $this->element->status); } #[\PHPUnit\Framework\Attributes\Group('module')] public function testSerialize() : void { $this->element->session = new NullSession(2); $this->element->status = ClockingStatus::END; $serialized = $this->element->jsonSerialize(); unset($serialized['datetime']); unset($serialized['session']); self::assertEquals( [ 'id' => 0, 'status' => ClockingStatus::END, ], $serialized ); } }