diff --git a/api/tests/unit/Repositories/WorkingHoursViewRepositoryTest.php b/api/tests/unit/Repositories/WorkingHoursViewRepositoryTest.php index 7ccbc67..12d71b2 100644 --- a/api/tests/unit/Repositories/WorkingHoursViewRepositoryTest.php +++ b/api/tests/unit/Repositories/WorkingHoursViewRepositoryTest.php @@ -4,10 +4,11 @@ namespace TorstenHettstedt\TimekeepingApi\Tests\Unit\Repositories; use Codeception\Test\Unit; use PDO; -use TorstenHettstedt\TimekeepingApi\Models\PeriodDesignationEnum; use TorstenHettstedt\TimekeepingApi\Models\WorkingHoursView; use TorstenHettstedt\TimekeepingApi\Repositories\RepositoryRecordNotFoundException; -use TorstenHettstedt\TimekeepingApi\Repositories\WorkingHoursViewRepository; +use TorstenHettstedt\TimekeepingApi\Repositories\WorkingHoursWeeklyViewRepository; +use TorstenHettstedt\TimekeepingApi\Repositories\WorkingHoursMonthlyViewRepository; +use TorstenHettstedt\TimekeepingApi\Repositories\WorkingHoursYearlyViewRepository; class WorkingHoursViewRepositoryTest extends Unit { @@ -31,9 +32,9 @@ class WorkingHoursViewRepositoryTest extends Unit public function listObjectProvider(): array { return [ - [PeriodDesignationEnum::YEARLY(), 1], - [PeriodDesignationEnum::MONTHLY(), 3], - [PeriodDesignationEnum::WEEKLY(), 13], + [WorkingHoursYearlyViewRepository::class, 1], + [WorkingHoursMonthlyViewRepository::class, 3], + [WorkingHoursWeeklyViewRepository::class, 13], ]; } @@ -43,9 +44,9 @@ class WorkingHoursViewRepositoryTest extends Unit public function existingObjectProvider(): array { return [ - [PeriodDesignationEnum::YEARLY(), '2020', 61], - [PeriodDesignationEnum::MONTHLY(), '2020-02', 20], - [PeriodDesignationEnum::WEEKLY(), '2020#3', 5], + [WorkingHoursYearlyViewRepository::class, '2020', 61], + [WorkingHoursMonthlyViewRepository::class, '2020 February', 20], + [WorkingHoursWeeklyViewRepository::class, '2020#03', 5], ]; } @@ -55,54 +56,54 @@ class WorkingHoursViewRepositoryTest extends Unit public function notExistingObjectProvider(): array { return [ - [PeriodDesignationEnum::YEARLY(), '2022',], - [PeriodDesignationEnum::MONTHLY(), '2020-05',], - [PeriodDesignationEnum::WEEKLY(), '2020#30',], + [WorkingHoursYearlyViewRepository::class, '2022',], + [WorkingHoursMonthlyViewRepository::class, '2020 May',], + [WorkingHoursWeeklyViewRepository::class, '2020#30',], ]; } /** - * @param PeriodDesignationEnum $period - * @param int $count_records + * @param string $period_class + * @param int $count_records * * @dataProvider listObjectProvider */ - public function testFindAll(PeriodDesignationEnum $period, int $count_records): void + public function testFindAll(string $period_class, int $count_records): void { - $repository = new WorkingHoursViewRepository($this->pdoObject, $period); + $repository = new $period_class($this->pdoObject); $models = $repository->findAll(); $this->assertIsArray($models); $this->assertContainsOnly(WorkingHoursView::class, $models); - $this->assertCount(self::RECORDS_COUNT, $models); + $this->assertCount($count_records, $models); } /** * * @dataProvider existingObjectProvider * - * @param PeriodDesignationEnum $period - * @param string $search + * @param string $period_class + * @param string $search + * @param int $workingDays */ - public function testExistingFindByKey(PeriodDesignationEnum $period, string $search, int $workingDays): void + public function testExistingFindByKey(string $period_class, string $search, int $workingDays): void { - $repository = new WorkingHoursViewRepository($this->pdoObject, $period); - $model = $repository->findByKey(self::EXISTING_DATE); + $repository = new $period_class($this->pdoObject); + $model = $repository->findByKey($search); $this->assertInstanceOf(WorkingHoursView::class, $model); $this->assertEquals($workingDays, $model->getWorkingDays()); } /** - * @param PeriodDesignationEnum $period - * @param string $search + * @param string $period_class + * @param string $search * * @dataProvider notExistingObjectProvider * - * @throws RepositoryRecordNotFoundException */ - public function testNotExistingFindByKey(PeriodDesignationEnum $period, string $search): void + public function testNotExistingFindByKey(string $period_class, string $search): void { - $repository = new WorkingHoursViewRepository($this->pdoObject, $period); + $repository = new $period_class($this->pdoObject); $this->expectException(RepositoryRecordNotFoundException::class); - $repository->findByKey(self::NEW_DATE); + $repository->findByKey($search); } }