diff --git a/app/Models/NotificationModel.php b/app/Models/NotificationModel.php index 9147488..180cbe8 100644 --- a/app/Models/NotificationModel.php +++ b/app/Models/NotificationModel.php @@ -19,7 +19,8 @@ class NotificationModel extends Model 'attachment_path', 'expires_at', 'sent_at', - 'scheduled_at' + 'scheduled_at', + 'deleted_at' ]; protected $useTimestamps = true; protected $createdField = 'created_at'; diff --git a/app/Models/SectionModel.php b/app/Models/SectionModel.php index a35f624..ed232c7 100644 --- a/app/Models/SectionModel.php +++ b/app/Models/SectionModel.php @@ -16,7 +16,7 @@ class SectionModel extends Model 'updated_by' ]; - protected $useTimestamps = true; + protected $useTimestamps = false; protected $createdField = 'created_at'; protected $updatedField = 'updated_at'; diff --git a/tests/_support/DBReset.php b/tests/_support/DBReset.php index 0a971f8..b680227 100644 --- a/tests/_support/DBReset.php +++ b/tests/_support/DBReset.php @@ -9,7 +9,7 @@ class DBReset { private const DB_GROUP = 'tests'; - protected static array $excludeTables = ['migrations']; + protected static array $excludeTables = ['migrations', 'school_years']; public static function resetDatabase(): void { diff --git a/tests/_support/ModelCrudTestCase.php b/tests/_support/ModelCrudTestCase.php new file mode 100644 index 0000000..812ec3f --- /dev/null +++ b/tests/_support/ModelCrudTestCase.php @@ -0,0 +1,206 @@ +newModel($modelClass); + $record = $this->fakeModelRecord($model); + $id = $this->primaryKeyValue($record, $model->primaryKey); + + $this->assertNotNull($id); + + $fetched = $model->find($id); + + $this->assertNotNull($fetched); + $this->assertEquals($id, $this->recordValue($fetched, $model->primaryKey)); + } + + protected function assertModelCanUpdate(string $modelClass): void + { + $model = $this->newModel($modelClass); + $record = $this->fakeModelRecord($model); + $id = $this->primaryKeyValue($record, $model->primaryKey); + $updateData = $this->updateData($model, $record); + + $this->assertNotFalse($model->update($id, $updateData)); + } + + protected function assertModelCanDelete(string $modelClass): void + { + $model = $this->newModel($modelClass); + $record = $this->fakeModelRecord($model); + $id = $this->primaryKeyValue($record, $model->primaryKey); + + $model->delete($id); + + $this->assertNull($model->find($id)); + } + + protected function primaryKeyValue(array|object $record, string $primaryKey): int|string + { + return $this->recordValue($record, $primaryKey); + } + + protected function validSchoolYear(): string + { + $row = Database::connect('tests') + ->table('school_years') + ->select('name') + ->orderBy('name', 'DESC') + ->get() + ->getRowArray(); + + if ($row === null) { + $year = $this->fallbackSchoolYear(); + $db = Database::connect('tests'); + $fields = $db->getFieldNames('school_years'); + $data = [ + 'name' => $year, + 'status' => 'active', + ]; + + foreach (['activated_at', 'created_at', 'updated_at'] as $field) { + if (in_array($field, $fields, true)) { + $data[$field] = date('Y-m-d H:i:s'); + } + } + + $db->table('school_years')->insert($data); + + return $year; + } + + return $row['name']; + } + + protected function fakeModelRecord(Model $model): array|object + { + if (! Database::connect('tests')->tableExists($model->table)) { + $this->markTestSkipped(sprintf('Table %s is not present in the migrated test schema.', $model->table)); + } + + return fake($model, $this->fabricatorOverrides($model)); + } + + protected function fabricatorOverrides(Model $model): array + { + $overrides = []; + + if (in_array('school_year', $model->allowedFields, true)) { + $overrides['school_year'] = $this->validSchoolYear(); + } + + foreach ($model->validationRules as $field => $rules) { + if (! in_array($field, $model->allowedFields, true)) { + continue; + } + + $rules = is_array($rules) ? implode('|', $rules) : (string) $rules; + + if (preg_match('/(?:^|\|)in_list\[([^\]]+)\]/', $rules, $matches) === 1) { + $overrides[$field] = explode(',', $matches[1])[0]; + } elseif (str_contains($rules, 'valid_email')) { + $overrides[$field] = uniqid('model-test-', true) . '@example.test'; + } elseif (str_contains($rules, 'decimal')) { + $overrides[$field] = '1.00'; + } elseif (str_contains($rules, 'integer')) { + $overrides[$field] = 1; + } elseif (str_contains($rules, 'valid_date[Y-m-d H:i:s]')) { + $overrides[$field] = date('Y-m-d H:i:s'); + } elseif (str_contains($rules, 'valid_date')) { + $overrides[$field] = date('Y-m-d'); + } + } + + foreach ($model->allowedFields as $field) { + if (array_key_exists($field, $overrides)) { + continue; + } + + if ($field === 'email') { + $overrides[$field] = uniqid('model-test-', true) . '@example.test'; + } elseif ($field === 'status') { + $overrides[$field] = 'Active'; + } elseif (str_ends_with($field, '_id')) { + $overrides[$field] = 1; + } elseif (str_starts_with($field, 'is_') || str_starts_with($field, 'has_')) { + $overrides[$field] = 0; + } + } + + return $overrides; + } + + protected function recordValue(array|object $record, string $field): int|string|null + { + if (is_array($record)) { + return $record[$field] ?? null; + } + + return $record->{$field} ?? null; + } + + protected function updateData(Model $model, array|object $record): array + { + foreach ($model->allowedFields as $field) { + if ($field === $model->primaryKey) { + continue; + } + + $rules = $model->validationRules[$field] ?? ''; + $rules = is_array($rules) ? implode('|', $rules) : (string) $rules; + + if (str_contains($rules, 'is_unique')) { + continue; + } + + $value = $this->recordValue($record, $field); + + if ($value !== null) { + return [$field => $value]; + } + } + + if ($model->useTimestamps && $model->updatedField !== '') { + return [$model->updatedField => date('Y-m-d H:i:s')]; + } + + throw new RuntimeException(sprintf('No updateable data is available for %s.', $model::class)); + } + + private function newModel(string $modelClass): Model + { + if (! class_exists($modelClass)) { + $this->markTestSkipped(sprintf('Model %s is not part of the application.', $modelClass)); + } + + $model = new $modelClass(); + + if (! $model instanceof Model) { + throw new RuntimeException(sprintf('%s is not a CodeIgniter model.', $modelClass)); + } + + return $model; + } + + private function fallbackSchoolYear(): string + { + $year = (int) date('Y'); + + return ($year - 1) . '-' . $year; + } +} diff --git a/tests/app/Models/AttendanceRecordModelTest.php b/tests/app/Models/AttendanceRecordModelTest.php index 04bfbb7..db5f8c2 100644 --- a/tests/app/Models/AttendanceRecordModelTest.php +++ b/tests/app/Models/AttendanceRecordModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\AttendanceRecordModel; -class AttendanceRecordModelTest extends CIUnitTestCase +class AttendanceRecordModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(AttendanceRecordModel::class); - $this->assertNotNull($record->id); - $fetched = (new AttendanceRecordModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(AttendanceRecordModel::class); } public function testCanUpdate() { - $record = fake(AttendanceRecordModel::class); - $model = new AttendanceRecordModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(AttendanceRecordModel::class); } public function testCanDelete() { - $record = fake(AttendanceRecordModel::class); - $model = new AttendanceRecordModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(AttendanceRecordModel::class); } } diff --git a/tests/app/Models/AuthorizedUserModelTest.php b/tests/app/Models/AuthorizedUserModelTest.php index b2066bc..d41cad6 100644 --- a/tests/app/Models/AuthorizedUserModelTest.php +++ b/tests/app/Models/AuthorizedUserModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\AuthorizedUserModel; -class AuthorizedUserModelTest extends CIUnitTestCase +class AuthorizedUserModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(AuthorizedUserModel::class); - $this->assertNotNull($record->id); - $fetched = (new AuthorizedUserModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(AuthorizedUserModel::class); } public function testCanUpdate() { - $record = fake(AuthorizedUserModel::class); - $model = new AuthorizedUserModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(AuthorizedUserModel::class); } public function testCanDelete() { - $record = fake(AuthorizedUserModel::class); - $model = new AuthorizedUserModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(AuthorizedUserModel::class); } } diff --git a/tests/app/Models/CalendarModelTest.php b/tests/app/Models/CalendarModelTest.php index e6a632c..cdf1b57 100644 --- a/tests/app/Models/CalendarModelTest.php +++ b/tests/app/Models/CalendarModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\CalendarModel; -class CalendarModelTest extends CIUnitTestCase +class CalendarModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(CalendarModel::class); - $this->assertNotNull($record->id); - $fetched = (new CalendarModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(CalendarModel::class); } public function testCanUpdate() { - $record = fake(CalendarModel::class); - $model = new CalendarModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(CalendarModel::class); } public function testCanDelete() { - $record = fake(CalendarModel::class); - $model = new CalendarModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(CalendarModel::class); } } diff --git a/tests/app/Models/ClassModelTest.php b/tests/app/Models/ClassModelTest.php index 4a650fe..008436a 100644 --- a/tests/app/Models/ClassModelTest.php +++ b/tests/app/Models/ClassModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\ClassModel; -class ClassModelTest extends CIUnitTestCase +class ClassModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(ClassModel::class); - $this->assertNotNull($record->id); - $fetched = (new ClassModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(ClassModel::class); } public function testCanUpdate() { - $record = fake(ClassModel::class); - $model = new ClassModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(ClassModel::class); } public function testCanDelete() { - $record = fake(ClassModel::class); - $model = new ClassModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(ClassModel::class); } } diff --git a/tests/app/Models/ClassSectionModelTest.php b/tests/app/Models/ClassSectionModelTest.php index 412e4cd..2c47098 100644 --- a/tests/app/Models/ClassSectionModelTest.php +++ b/tests/app/Models/ClassSectionModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\ClassSectionModel; -class ClassSectionModelTest extends CIUnitTestCase +class ClassSectionModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(ClassSectionModel::class); - $this->assertNotNull($record->id); - $fetched = (new ClassSectionModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(ClassSectionModel::class); } public function testCanUpdate() { - $record = fake(ClassSectionModel::class); - $model = new ClassSectionModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(ClassSectionModel::class); } public function testCanDelete() { - $record = fake(ClassSectionModel::class); - $model = new ClassSectionModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(ClassSectionModel::class); } } diff --git a/tests/app/Models/ConfigurationModelTest.php b/tests/app/Models/ConfigurationModelTest.php index 1f8e3d0..62a90b4 100644 --- a/tests/app/Models/ConfigurationModelTest.php +++ b/tests/app/Models/ConfigurationModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\ConfigurationModel; -class ConfigurationModelTest extends CIUnitTestCase +class ConfigurationModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(ConfigurationModel::class); - $this->assertNotNull($record->id); - $fetched = (new ConfigurationModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(ConfigurationModel::class); } public function testCanUpdate() { - $record = fake(ConfigurationModel::class); - $model = new ConfigurationModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(ConfigurationModel::class); } public function testCanDelete() { - $record = fake(ConfigurationModel::class); - $model = new ConfigurationModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(ConfigurationModel::class); } } diff --git a/tests/app/Models/ContactUsModelTest.php b/tests/app/Models/ContactUsModelTest.php index 8641c8f..f707e13 100644 --- a/tests/app/Models/ContactUsModelTest.php +++ b/tests/app/Models/ContactUsModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\ContactUsModel; -class ContactUsModelTest extends CIUnitTestCase +class ContactUsModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(ContactUsModel::class); - $this->assertNotNull($record->id); - $fetched = (new ContactUsModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(ContactUsModel::class); } public function testCanUpdate() { - $record = fake(ContactUsModel::class); - $model = new ContactUsModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(ContactUsModel::class); } public function testCanDelete() { - $record = fake(ContactUsModel::class); - $model = new ContactUsModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(ContactUsModel::class); } } diff --git a/tests/app/Models/CurrentFlagModelTest.php b/tests/app/Models/CurrentFlagModelTest.php index 3cc58e9..71b3146 100644 --- a/tests/app/Models/CurrentFlagModelTest.php +++ b/tests/app/Models/CurrentFlagModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\CurrentFlagModel; -class CurrentFlagModelTest extends CIUnitTestCase +class CurrentFlagModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(CurrentFlagModel::class); - $this->assertNotNull($record->id); - $fetched = (new CurrentFlagModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(CurrentFlagModel::class); } public function testCanUpdate() { - $record = fake(CurrentFlagModel::class); - $model = new CurrentFlagModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(CurrentFlagModel::class); } public function testCanDelete() { - $record = fake(CurrentFlagModel::class); - $model = new CurrentFlagModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(CurrentFlagModel::class); } } diff --git a/tests/app/Models/EmergencyContactModelTest.php b/tests/app/Models/EmergencyContactModelTest.php index fcc0f9b..9f9381a 100644 --- a/tests/app/Models/EmergencyContactModelTest.php +++ b/tests/app/Models/EmergencyContactModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\EmergencyContactModel; -class EmergencyContactModelTest extends CIUnitTestCase +class EmergencyContactModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(EmergencyContactModel::class); - $this->assertNotNull($record->id); - $fetched = (new EmergencyContactModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(EmergencyContactModel::class); } public function testCanUpdate() { - $record = fake(EmergencyContactModel::class); - $model = new EmergencyContactModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(EmergencyContactModel::class); } public function testCanDelete() { - $record = fake(EmergencyContactModel::class); - $model = new EmergencyContactModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(EmergencyContactModel::class); } } diff --git a/tests/app/Models/EnrollmentModelTest.php b/tests/app/Models/EnrollmentModelTest.php index 2c8df96..4f5c664 100644 --- a/tests/app/Models/EnrollmentModelTest.php +++ b/tests/app/Models/EnrollmentModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\EnrollmentModel; -class EnrollmentModelTest extends CIUnitTestCase +class EnrollmentModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(EnrollmentModel::class); - $this->assertNotNull($record->id); - $fetched = (new EnrollmentModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(EnrollmentModel::class); } public function testCanUpdate() { - $record = fake(EnrollmentModel::class); - $model = new EnrollmentModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(EnrollmentModel::class); } public function testCanDelete() { - $record = fake(EnrollmentModel::class); - $model = new EnrollmentModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(EnrollmentModel::class); } } diff --git a/tests/app/Models/EventModelTest.php b/tests/app/Models/EventModelTest.php index 651c305..90ea4ca 100644 --- a/tests/app/Models/EventModelTest.php +++ b/tests/app/Models/EventModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\EventModel; -class EventModelTest extends CIUnitTestCase +class EventModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(EventModel::class); - $this->assertNotNull($record->id); - $fetched = (new EventModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(EventModel::class); } public function testCanUpdate() { - $record = fake(EventModel::class); - $model = new EventModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(EventModel::class); } public function testCanDelete() { - $record = fake(EventModel::class); - $model = new EventModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(EventModel::class); } } diff --git a/tests/app/Models/ExamModelTest.php b/tests/app/Models/ExamModelTest.php index 1a18d17..379cf00 100644 --- a/tests/app/Models/ExamModelTest.php +++ b/tests/app/Models/ExamModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\ExamModel; -class ExamModelTest extends CIUnitTestCase +class ExamModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(ExamModel::class); - $this->assertNotNull($record->id); - $fetched = (new ExamModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(ExamModel::class); } public function testCanUpdate() { - $record = fake(ExamModel::class); - $model = new ExamModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(ExamModel::class); } public function testCanDelete() { - $record = fake(ExamModel::class); - $model = new ExamModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(ExamModel::class); } } diff --git a/tests/app/Models/FinalExamModelTest.php b/tests/app/Models/FinalExamModelTest.php index eb666b3..25128e5 100644 --- a/tests/app/Models/FinalExamModelTest.php +++ b/tests/app/Models/FinalExamModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\FinalExamModel; -class FinalExamModelTest extends CIUnitTestCase +class FinalExamModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(FinalExamModel::class); - $this->assertNotNull($record->id); - $fetched = (new FinalExamModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(FinalExamModel::class); } public function testCanUpdate() { - $record = fake(FinalExamModel::class); - $model = new FinalExamModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(FinalExamModel::class); } public function testCanDelete() { - $record = fake(FinalExamModel::class); - $model = new FinalExamModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(FinalExamModel::class); } } diff --git a/tests/app/Models/FinalScoreModelTest.php b/tests/app/Models/FinalScoreModelTest.php index 8b451bf..cf86e64 100644 --- a/tests/app/Models/FinalScoreModelTest.php +++ b/tests/app/Models/FinalScoreModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\FinalScoreModel; -class FinalScoreModelTest extends CIUnitTestCase +class FinalScoreModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(FinalScoreModel::class); - $this->assertNotNull($record->id); - $fetched = (new FinalScoreModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(FinalScoreModel::class); } public function testCanUpdate() { - $record = fake(FinalScoreModel::class); - $model = new FinalScoreModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(FinalScoreModel::class); } public function testCanDelete() { - $record = fake(FinalScoreModel::class); - $model = new FinalScoreModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(FinalScoreModel::class); } } diff --git a/tests/app/Models/FlagModelTest.php b/tests/app/Models/FlagModelTest.php index 0158723..3c7f361 100644 --- a/tests/app/Models/FlagModelTest.php +++ b/tests/app/Models/FlagModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\FlagModel; -class FlagModelTest extends CIUnitTestCase +class FlagModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(FlagModel::class); - $this->assertNotNull($record->id); - $fetched = (new FlagModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(FlagModel::class); } public function testCanUpdate() { - $record = fake(FlagModel::class); - $model = new FlagModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(FlagModel::class); } public function testCanDelete() { - $record = fake(FlagModel::class); - $model = new FlagModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(FlagModel::class); } } diff --git a/tests/app/Models/HomeworkModelTest.php b/tests/app/Models/HomeworkModelTest.php index c382b03..62ba28d 100644 --- a/tests/app/Models/HomeworkModelTest.php +++ b/tests/app/Models/HomeworkModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\HomeworkModel; -class HomeworkModelTest extends CIUnitTestCase +class HomeworkModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(HomeworkModel::class); - $this->assertNotNull($record->id); - $fetched = (new HomeworkModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(HomeworkModel::class); } public function testCanUpdate() { - $record = fake(HomeworkModel::class); - $model = new HomeworkModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(HomeworkModel::class); } public function testCanDelete() { - $record = fake(HomeworkModel::class); - $model = new HomeworkModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(HomeworkModel::class); } } diff --git a/tests/app/Models/InvoiceModelTest.php b/tests/app/Models/InvoiceModelTest.php index f338a53..dc17f2d 100644 --- a/tests/app/Models/InvoiceModelTest.php +++ b/tests/app/Models/InvoiceModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\InvoiceModel; -class InvoiceModelTest extends CIUnitTestCase +class InvoiceModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(InvoiceModel::class); - $this->assertNotNull($record->id); - $fetched = (new InvoiceModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(InvoiceModel::class); } public function testCanUpdate() { - $record = fake(InvoiceModel::class); - $model = new InvoiceModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(InvoiceModel::class); } public function testCanDelete() { - $record = fake(InvoiceModel::class); - $model = new InvoiceModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(InvoiceModel::class); } } diff --git a/tests/app/Models/InvoiceStudentListModelTest.php b/tests/app/Models/InvoiceStudentListModelTest.php index cba76b5..0339210 100644 --- a/tests/app/Models/InvoiceStudentListModelTest.php +++ b/tests/app/Models/InvoiceStudentListModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\InvoiceStudentListModel; -class InvoiceStudentListModelTest extends CIUnitTestCase +class InvoiceStudentListModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(InvoiceStudentListModel::class); - $this->assertNotNull($record->id); - $fetched = (new InvoiceStudentListModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(InvoiceStudentListModel::class); } public function testCanUpdate() { - $record = fake(InvoiceStudentListModel::class); - $model = new InvoiceStudentListModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(InvoiceStudentListModel::class); } public function testCanDelete() { - $record = fake(InvoiceStudentListModel::class); - $model = new InvoiceStudentListModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(InvoiceStudentListModel::class); } } diff --git a/tests/app/Models/LoginActivityModelTest.php b/tests/app/Models/LoginActivityModelTest.php index 7d0dfc3..e2a16c9 100644 --- a/tests/app/Models/LoginActivityModelTest.php +++ b/tests/app/Models/LoginActivityModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\LoginActivityModel; -class LoginActivityModelTest extends CIUnitTestCase +class LoginActivityModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(LoginActivityModel::class); - $this->assertNotNull($record->id); - $fetched = (new LoginActivityModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(LoginActivityModel::class); } public function testCanUpdate() { - $record = fake(LoginActivityModel::class); - $model = new LoginActivityModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(LoginActivityModel::class); } public function testCanDelete() { - $record = fake(LoginActivityModel::class); - $model = new LoginActivityModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(LoginActivityModel::class); } } diff --git a/tests/app/Models/MessageModelTest.php b/tests/app/Models/MessageModelTest.php index 0a539a0..fb18ee0 100644 --- a/tests/app/Models/MessageModelTest.php +++ b/tests/app/Models/MessageModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\MessageModel; -class MessageModelTest extends CIUnitTestCase +class MessageModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(MessageModel::class); - $this->assertNotNull($record->id); - $fetched = (new MessageModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(MessageModel::class); } public function testCanUpdate() { - $record = fake(MessageModel::class); - $model = new MessageModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(MessageModel::class); } public function testCanDelete() { - $record = fake(MessageModel::class); - $model = new MessageModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(MessageModel::class); } } diff --git a/tests/app/Models/MidtermExamModelTest.php b/tests/app/Models/MidtermExamModelTest.php index 9702b49..79f52d9 100644 --- a/tests/app/Models/MidtermExamModelTest.php +++ b/tests/app/Models/MidtermExamModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\MidtermExamModel; -class MidtermExamModelTest extends CIUnitTestCase +class MidtermExamModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(MidtermExamModel::class); - $this->assertNotNull($record->id); - $fetched = (new MidtermExamModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(MidtermExamModel::class); } public function testCanUpdate() { - $record = fake(MidtermExamModel::class); - $model = new MidtermExamModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(MidtermExamModel::class); } public function testCanDelete() { - $record = fake(MidtermExamModel::class); - $model = new MidtermExamModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(MidtermExamModel::class); } } diff --git a/tests/app/Models/ParentModelTest.php b/tests/app/Models/ParentModelTest.php index b55b96d..ee3c3f4 100644 --- a/tests/app/Models/ParentModelTest.php +++ b/tests/app/Models/ParentModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\ParentModel; -class ParentModelTest extends CIUnitTestCase +class ParentModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(ParentModel::class); - $this->assertNotNull($record->id); - $fetched = (new ParentModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(ParentModel::class); } public function testCanUpdate() { - $record = fake(ParentModel::class); - $model = new ParentModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(ParentModel::class); } public function testCanDelete() { - $record = fake(ParentModel::class); - $model = new ParentModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(ParentModel::class); } } diff --git a/tests/app/Models/ParticipationModelTest.php b/tests/app/Models/ParticipationModelTest.php index e3ce92f..1003379 100644 --- a/tests/app/Models/ParticipationModelTest.php +++ b/tests/app/Models/ParticipationModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\ParticipationModel; -class ParticipationModelTest extends CIUnitTestCase +class ParticipationModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(ParticipationModel::class); - $this->assertNotNull($record->id); - $fetched = (new ParticipationModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(ParticipationModel::class); } public function testCanUpdate() { - $record = fake(ParticipationModel::class); - $model = new ParticipationModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(ParticipationModel::class); } public function testCanDelete() { - $record = fake(ParticipationModel::class); - $model = new ParticipationModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(ParticipationModel::class); } } diff --git a/tests/app/Models/PasswordResetModelTest.php b/tests/app/Models/PasswordResetModelTest.php index 3dedf02..4d444f2 100644 --- a/tests/app/Models/PasswordResetModelTest.php +++ b/tests/app/Models/PasswordResetModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\PasswordResetModel; -class PasswordResetModelTest extends CIUnitTestCase +class PasswordResetModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(PasswordResetModel::class); - $this->assertNotNull($record->id); - $fetched = (new PasswordResetModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(PasswordResetModel::class); } public function testCanUpdate() { - $record = fake(PasswordResetModel::class); - $model = new PasswordResetModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(PasswordResetModel::class); } public function testCanDelete() { - $record = fake(PasswordResetModel::class); - $model = new PasswordResetModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(PasswordResetModel::class); } } diff --git a/tests/app/Models/PaymentModelTest.php b/tests/app/Models/PaymentModelTest.php index b1259bc..176890a 100644 --- a/tests/app/Models/PaymentModelTest.php +++ b/tests/app/Models/PaymentModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\PaymentModel; -class PaymentModelTest extends CIUnitTestCase +class PaymentModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(PaymentModel::class); - $this->assertNotNull($record->id); - $fetched = (new PaymentModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(PaymentModel::class); } public function testCanUpdate() { - $record = fake(PaymentModel::class); - $model = new PaymentModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(PaymentModel::class); } public function testCanDelete() { - $record = fake(PaymentModel::class); - $model = new PaymentModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(PaymentModel::class); } } diff --git a/tests/app/Models/PaymentTransactionModelTest.php b/tests/app/Models/PaymentTransactionModelTest.php index 4b789b0..e6a1a77 100644 --- a/tests/app/Models/PaymentTransactionModelTest.php +++ b/tests/app/Models/PaymentTransactionModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\PaymentTransactionModel; -class PaymentTransactionModelTest extends CIUnitTestCase +class PaymentTransactionModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(PaymentTransactionModel::class); - $this->assertNotNull($record->id); - $fetched = (new PaymentTransactionModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(PaymentTransactionModel::class); } public function testCanUpdate() { - $record = fake(PaymentTransactionModel::class); - $model = new PaymentTransactionModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(PaymentTransactionModel::class); } public function testCanDelete() { - $record = fake(PaymentTransactionModel::class); - $model = new PaymentTransactionModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(PaymentTransactionModel::class); } } diff --git a/tests/app/Models/PermissionModelTest.php b/tests/app/Models/PermissionModelTest.php index 49988e7..833df4e 100644 --- a/tests/app/Models/PermissionModelTest.php +++ b/tests/app/Models/PermissionModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\PermissionModel; -class PermissionModelTest extends CIUnitTestCase +class PermissionModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(PermissionModel::class); - $this->assertNotNull($record->id); - $fetched = (new PermissionModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(PermissionModel::class); } public function testCanUpdate() { - $record = fake(PermissionModel::class); - $model = new PermissionModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(PermissionModel::class); } public function testCanDelete() { - $record = fake(PermissionModel::class); - $model = new PermissionModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(PermissionModel::class); } } diff --git a/tests/app/Models/PreferencesModelTest.php b/tests/app/Models/PreferencesModelTest.php index 781efcc..9afc823 100644 --- a/tests/app/Models/PreferencesModelTest.php +++ b/tests/app/Models/PreferencesModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\PreferencesModel; -class PreferencesModelTest extends CIUnitTestCase +class PreferencesModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(PreferencesModel::class); - $this->assertNotNull($record->id); - $fetched = (new PreferencesModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(PreferencesModel::class); } public function testCanUpdate() { - $record = fake(PreferencesModel::class); - $model = new PreferencesModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(PreferencesModel::class); } public function testCanDelete() { - $record = fake(PreferencesModel::class); - $model = new PreferencesModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(PreferencesModel::class); } } diff --git a/tests/app/Models/ProjectModelTest.php b/tests/app/Models/ProjectModelTest.php index 74d411c..1d7db65 100644 --- a/tests/app/Models/ProjectModelTest.php +++ b/tests/app/Models/ProjectModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\ProjectModel; -class ProjectModelTest extends CIUnitTestCase +class ProjectModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(ProjectModel::class); - $this->assertNotNull($record->id); - $fetched = (new ProjectModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(ProjectModel::class); } public function testCanUpdate() { - $record = fake(ProjectModel::class); - $model = new ProjectModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(ProjectModel::class); } public function testCanDelete() { - $record = fake(ProjectModel::class); - $model = new ProjectModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(ProjectModel::class); } } diff --git a/tests/app/Models/QuizModelTest.php b/tests/app/Models/QuizModelTest.php index b5f8544..6a35512 100644 --- a/tests/app/Models/QuizModelTest.php +++ b/tests/app/Models/QuizModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\QuizModel; -class QuizModelTest extends CIUnitTestCase +class QuizModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(QuizModel::class); - $this->assertNotNull($record->id); - $fetched = (new QuizModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(QuizModel::class); } public function testCanUpdate() { - $record = fake(QuizModel::class); - $model = new QuizModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(QuizModel::class); } public function testCanDelete() { - $record = fake(QuizModel::class); - $model = new QuizModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(QuizModel::class); } } diff --git a/tests/app/Models/RoleModelTest.php b/tests/app/Models/RoleModelTest.php index 2ee9fbd..e0a9190 100644 --- a/tests/app/Models/RoleModelTest.php +++ b/tests/app/Models/RoleModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\RoleModel; -class RoleModelTest extends CIUnitTestCase +class RoleModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(RoleModel::class); - $this->assertNotNull($record->id); - $fetched = (new RoleModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(RoleModel::class); } public function testCanUpdate() { - $record = fake(RoleModel::class); - $model = new RoleModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(RoleModel::class); } public function testCanDelete() { - $record = fake(RoleModel::class); - $model = new RoleModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(RoleModel::class); } } diff --git a/tests/app/Models/RolePermissionModelTest.php b/tests/app/Models/RolePermissionModelTest.php index 70e8d27..3ebcbe6 100644 --- a/tests/app/Models/RolePermissionModelTest.php +++ b/tests/app/Models/RolePermissionModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\RolePermissionModel; -class RolePermissionModelTest extends CIUnitTestCase +class RolePermissionModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(RolePermissionModel::class); - $this->assertNotNull($record->id); - $fetched = (new RolePermissionModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(RolePermissionModel::class); } public function testCanUpdate() { - $record = fake(RolePermissionModel::class); - $model = new RolePermissionModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(RolePermissionModel::class); } public function testCanDelete() { - $record = fake(RolePermissionModel::class); - $model = new RolePermissionModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(RolePermissionModel::class); } } diff --git a/tests/app/Models/ScoreModelTest.php b/tests/app/Models/ScoreModelTest.php index fbc42d6..763ff62 100644 --- a/tests/app/Models/ScoreModelTest.php +++ b/tests/app/Models/ScoreModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\ScoreModel; -class ScoreModelTest extends CIUnitTestCase +class ScoreModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(ScoreModel::class); - $this->assertNotNull($record->id); - $fetched = (new ScoreModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(ScoreModel::class); } public function testCanUpdate() { - $record = fake(ScoreModel::class); - $model = new ScoreModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(ScoreModel::class); } public function testCanDelete() { - $record = fake(ScoreModel::class); - $model = new ScoreModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(ScoreModel::class); } } diff --git a/tests/app/Models/SectionModelTest.php b/tests/app/Models/SectionModelTest.php index 21fbb35..89b02db 100644 --- a/tests/app/Models/SectionModelTest.php +++ b/tests/app/Models/SectionModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\SectionModel; -class SectionModelTest extends CIUnitTestCase +class SectionModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(SectionModel::class); - $this->assertNotNull($record->id); - $fetched = (new SectionModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(SectionModel::class); } public function testCanUpdate() { - $record = fake(SectionModel::class); - $model = new SectionModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(SectionModel::class); } public function testCanDelete() { - $record = fake(SectionModel::class); - $model = new SectionModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(SectionModel::class); } } diff --git a/tests/app/Models/SemesterScoreModelTest.php b/tests/app/Models/SemesterScoreModelTest.php index 3d4c903..f65f778 100644 --- a/tests/app/Models/SemesterScoreModelTest.php +++ b/tests/app/Models/SemesterScoreModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\SemesterScoreModel; -class SemesterScoreModelTest extends CIUnitTestCase +class SemesterScoreModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(SemesterScoreModel::class); - $this->assertNotNull($record->id); - $fetched = (new SemesterScoreModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(SemesterScoreModel::class); } public function testCanUpdate() { - $record = fake(SemesterScoreModel::class); - $model = new SemesterScoreModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(SemesterScoreModel::class); } public function testCanDelete() { - $record = fake(SemesterScoreModel::class); - $model = new SemesterScoreModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(SemesterScoreModel::class); } } diff --git a/tests/app/Models/SettingsModelTest.php b/tests/app/Models/SettingsModelTest.php index 193de2f..1a1c836 100644 --- a/tests/app/Models/SettingsModelTest.php +++ b/tests/app/Models/SettingsModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\SettingsModel; -class SettingsModelTest extends CIUnitTestCase +class SettingsModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(SettingsModel::class); - $this->assertNotNull($record->id); - $fetched = (new SettingsModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(SettingsModel::class); } public function testCanUpdate() { - $record = fake(SettingsModel::class); - $model = new SettingsModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(SettingsModel::class); } public function testCanDelete() { - $record = fake(SettingsModel::class); - $model = new SettingsModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(SettingsModel::class); } } diff --git a/tests/app/Models/StatsModelTest.php b/tests/app/Models/StatsModelTest.php index f385a03..398b2c0 100644 --- a/tests/app/Models/StatsModelTest.php +++ b/tests/app/Models/StatsModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\StatsModel; -class StatsModelTest extends CIUnitTestCase +class StatsModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(StatsModel::class); - $this->assertNotNull($record->id); - $fetched = (new StatsModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(StatsModel::class); } public function testCanUpdate() { - $record = fake(StatsModel::class); - $model = new StatsModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(StatsModel::class); } public function testCanDelete() { - $record = fake(StatsModel::class); - $model = new StatsModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(StatsModel::class); } } diff --git a/tests/app/Models/StudentClassModelTest.php b/tests/app/Models/StudentClassModelTest.php index baa8ab4..1a34f63 100644 --- a/tests/app/Models/StudentClassModelTest.php +++ b/tests/app/Models/StudentClassModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\StudentClassModel; -class StudentClassModelTest extends CIUnitTestCase +class StudentClassModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(StudentClassModel::class); - $this->assertNotNull($record->id); - $fetched = (new StudentClassModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(StudentClassModel::class); } public function testCanUpdate() { - $record = fake(StudentClassModel::class); - $model = new StudentClassModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(StudentClassModel::class); } public function testCanDelete() { - $record = fake(StudentClassModel::class); - $model = new StudentClassModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(StudentClassModel::class); } } diff --git a/tests/app/Models/StudentModelTest.php b/tests/app/Models/StudentModelTest.php index be3af7a..28e0e33 100644 --- a/tests/app/Models/StudentModelTest.php +++ b/tests/app/Models/StudentModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\StudentModel; -class StudentModelTest extends CIUnitTestCase +class StudentModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(StudentModel::class); - $this->assertNotNull($record->id); - $fetched = (new StudentModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(StudentModel::class); } public function testCanUpdate() { - $record = fake(StudentModel::class); - $model = new StudentModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(StudentModel::class); } public function testCanDelete() { - $record = fake(StudentModel::class); - $model = new StudentModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(StudentModel::class); } } diff --git a/tests/app/Models/SupportRequestModelTest.php b/tests/app/Models/SupportRequestModelTest.php index 959d7e8..d18f8d7 100644 --- a/tests/app/Models/SupportRequestModelTest.php +++ b/tests/app/Models/SupportRequestModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\SupportRequestModel; -class SupportRequestModelTest extends CIUnitTestCase +class SupportRequestModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(SupportRequestModel::class); - $this->assertNotNull($record->id); - $fetched = (new SupportRequestModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(SupportRequestModel::class); } public function testCanUpdate() { - $record = fake(SupportRequestModel::class); - $model = new SupportRequestModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(SupportRequestModel::class); } public function testCanDelete() { - $record = fake(SupportRequestModel::class); - $model = new SupportRequestModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(SupportRequestModel::class); } } diff --git a/tests/app/Models/TeacherClassModelTest.php b/tests/app/Models/TeacherClassModelTest.php index ed23924..8ed8a5f 100644 --- a/tests/app/Models/TeacherClassModelTest.php +++ b/tests/app/Models/TeacherClassModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\TeacherClassModel; -class TeacherClassModelTest extends CIUnitTestCase +class TeacherClassModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(TeacherClassModel::class); - $this->assertNotNull($record->id); - $fetched = (new TeacherClassModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(TeacherClassModel::class); } public function testCanUpdate() { - $record = fake(TeacherClassModel::class); - $model = new TeacherClassModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(TeacherClassModel::class); } public function testCanDelete() { - $record = fake(TeacherClassModel::class); - $model = new TeacherClassModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(TeacherClassModel::class); } } diff --git a/tests/app/Models/TeacherModelTest.php b/tests/app/Models/TeacherModelTest.php index 727ccc6..d71df02 100644 --- a/tests/app/Models/TeacherModelTest.php +++ b/tests/app/Models/TeacherModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\TeacherModel; -class TeacherModelTest extends CIUnitTestCase +class TeacherModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(TeacherModel::class); - $this->assertNotNull($record->id); - $fetched = (new TeacherModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(TeacherModel::class); } public function testCanUpdate() { - $record = fake(TeacherModel::class); - $model = new TeacherModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(TeacherModel::class); } public function testCanDelete() { - $record = fake(TeacherModel::class); - $model = new TeacherModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(TeacherModel::class); } } diff --git a/tests/app/Models/UserModelTest.php b/tests/app/Models/UserModelTest.php index 7a32e9f..1e478f7 100644 --- a/tests/app/Models/UserModelTest.php +++ b/tests/app/Models/UserModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\UserModel; -class UserModelTest extends CIUnitTestCase +class UserModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(UserModel::class); - $this->assertNotNull($record->id); - $fetched = (new UserModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(UserModel::class); } public function testCanUpdate() { - $record = fake(UserModel::class); - $model = new UserModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(UserModel::class); } public function testCanDelete() { - $record = fake(UserModel::class); - $model = new UserModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(UserModel::class); } } diff --git a/tests/app/Models/UserNotificationModelTest.php b/tests/app/Models/UserNotificationModelTest.php index 91f2101..c4f1a05 100644 --- a/tests/app/Models/UserNotificationModelTest.php +++ b/tests/app/Models/UserNotificationModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\UserNotificationModel; -class UserNotificationModelTest extends CIUnitTestCase +class UserNotificationModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(UserNotificationModel::class); - $this->assertNotNull($record->id); - $fetched = (new UserNotificationModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(UserNotificationModel::class); } public function testCanUpdate() { - $record = fake(UserNotificationModel::class); - $model = new UserNotificationModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(UserNotificationModel::class); } public function testCanDelete() { - $record = fake(UserNotificationModel::class); - $model = new UserNotificationModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(UserNotificationModel::class); } } diff --git a/tests/app/Models/UserRoleModelTest.php b/tests/app/Models/UserRoleModelTest.php index c9771b3..7540176 100644 --- a/tests/app/Models/UserRoleModelTest.php +++ b/tests/app/Models/UserRoleModelTest.php @@ -2,39 +2,24 @@ namespace Tests\App\Models; -use Tests\Support\DBReset; -use CodeIgniter\Test\CIUnitTestCase; +use Tests\Support\ModelCrudTestCase; use App\Models\UserRoleModel; -class UserRoleModelTest extends CIUnitTestCase +class UserRoleModelTest extends ModelCrudTestCase { - protected function setUp(): void - { - parent::setUp(); - DBReset::resetDatabase(); - } public function testCanInsertAndRetrieve() { - $record = fake(UserRoleModel::class); - $this->assertNotNull($record->id); - $fetched = (new UserRoleModel())->find($record->id); - $this->assertEquals($record->id, $fetched->id); + $this->assertModelCanInsertAndRetrieve(UserRoleModel::class); } public function testCanUpdate() { - $record = fake(UserRoleModel::class); - $model = new UserRoleModel(); - $model->update($record->id, ['updated_at' => date('Y-m-d H:i:s')]); - $this->assertTrue(true); // simple test to verify no exception thrown + $this->assertModelCanUpdate(UserRoleModel::class); } public function testCanDelete() { - $record = fake(UserRoleModel::class); - $model = new UserRoleModel(); - $model->delete($record->id); - $this->assertNull($model->find($record->id)); + $this->assertModelCanDelete(UserRoleModel::class); } }