setUsername('bar'); $date = new \DateTime(); $sut = new WorkingTime($user, $date); self::assertSame($user, $sut->getUser()); self::assertSame($date, $sut->getDate()); self::assertNull($sut->getId()); self::assertEquals(0, $sut->getActualTime()); self::assertEquals(0, $sut->getExpectedTime()); self::assertNull($sut->getApprovedAt()); self::assertNull($sut->getApprovedBy()); self::assertFalse($sut->isApproved()); $approvedAt = new \DateTime('2023-01-01 12:00:00', new \DateTimeZone('Europe/Vienna')); $approvedBy = new User(); $approvedBy->setUsername('foo'); $sut->setApprovedAt($approvedAt); $sut->setApprovedBy($approvedBy); $sut->setActualTime(5600); $sut->setExpectedTime(8600); self::assertSame(5600, $sut->getActualTime()); self::assertSame(8600, $sut->getExpectedTime()); self::assertSame($approvedAt, $sut->getApprovedAt()); self::assertSame($approvedBy, $sut->getApprovedBy()); self::assertTrue($sut->isApproved()); } }