From 62a50585c8f048212de5296654af2e839fe4f3b9 Mon Sep 17 00:00:00 2001 From: medilies Date: Tue, 26 Jul 2022 18:29:36 +0100 Subject: [PATCH 1/3] migration + seeder + model --- database/migrations/create_wilayas_table.php | 24 ++++++ database/seeders/WilayaSeeder.php | 79 ++++++++++++++++++++ src/Models/Wilaya.php | 10 +++ src/WilayaServiceProvider.php | 2 + 4 files changed, 115 insertions(+) create mode 100644 database/migrations/create_wilayas_table.php create mode 100644 database/seeders/WilayaSeeder.php create mode 100644 src/Models/Wilaya.php diff --git a/database/migrations/create_wilayas_table.php b/database/migrations/create_wilayas_table.php new file mode 100644 index 0000000..ad70585 --- /dev/null +++ b/database/migrations/create_wilayas_table.php @@ -0,0 +1,24 @@ +id(); + + $table->string('name'); + + $table->unique('name'); + }); + } + + public function down(): void + { + Schema::dropIfExists('wilayas'); + } +}; diff --git a/database/seeders/WilayaSeeder.php b/database/seeders/WilayaSeeder.php new file mode 100644 index 0000000..a55f625 --- /dev/null +++ b/database/seeders/WilayaSeeder.php @@ -0,0 +1,79 @@ + '1', 'name' => 'Adrar'], + ['id' => '2', 'name' => 'Chlef'], + ['id' => '3', 'name' => 'Laghouat'], + ['id' => '4', 'name' => 'Oum El Bouaghi'], + ['id' => '5', 'name' => 'Batna'], + ['id' => '6', 'name' => 'Béjaïa'], + ['id' => '7', 'name' => 'Biskra'], + ['id' => '8', 'name' => 'Béchar'], + ['id' => '9', 'name' => 'Blida'], + ['id' => '10', 'name' => 'Bouira'], + ['id' => '11', 'name' => 'Tamanrasset'], + ['id' => '12', 'name' => 'Tébessa'], + ['id' => '13', 'name' => 'Tlemcen'], + ['id' => '14', 'name' => 'Tiaret'], + ['id' => '15', 'name' => 'Tizi Ouzou'], + ['id' => '16', 'name' => 'Alger'], + ['id' => '17', 'name' => 'Djelfa'], + ['id' => '18', 'name' => 'Jijel'], + ['id' => '19', 'name' => 'Sétif'], + ['id' => '20', 'name' => 'Saïda'], + ['id' => '21', 'name' => 'Skikda'], + ['id' => '22', 'name' => 'Sidi Bel Abbès'], + ['id' => '23', 'name' => 'Annaba'], + ['id' => '24', 'name' => 'Guelma'], + ['id' => '25', 'name' => 'Constantine'], + ['id' => '26', 'name' => 'Médéa'], + ['id' => '27', 'name' => 'Mostaganem'], + ['id' => '28', 'name' => "M'Sila"], + ['id' => '29', 'name' => 'Mascara'], + ['id' => '30', 'name' => 'Ouargla'], + ['id' => '31', 'name' => 'Oran'], + ['id' => '32', 'name' => 'El Bayadh'], + ['id' => '33', 'name' => 'Illizi'], + ['id' => '34', 'name' => 'Bordj Bou Arreridj'], + ['id' => '35', 'name' => 'Boumerdès'], + ['id' => '36', 'name' => 'El Tarf'], + ['id' => '37', 'name' => 'Tindouf'], + ['id' => '38', 'name' => 'Tissemsilt'], + ['id' => '39', 'name' => 'El Oued'], + ['id' => '40', 'name' => 'Khenchela'], + ['id' => '41', 'name' => 'Souk Ahras'], + ['id' => '42', 'name' => 'Tipaza'], + ['id' => '43', 'name' => 'Mila'], + ['id' => '44', 'name' => 'Aïn Defla'], + ['id' => '45', 'name' => 'Naâma'], + ['id' => '46', 'name' => 'Aïn Témouchent'], + ['id' => '47', 'name' => 'Ghardaïa'], + ['id' => '48', 'name' => 'Relizane'], + ['id' => '49', 'name' => "El M'Ghair"], + ['id' => '50', 'name' => 'El Meniaa'], + ['id' => '51', 'name' => 'Ouled Djellal'], + ['id' => '52', 'name' => 'Bordj Badji Mokhtar'], + ['id' => '53', 'name' => 'Béni Abbès'], + ['id' => '54', 'name' => 'Timimoun'], + ['id' => '55', 'name' => 'Touggourt'], + ['id' => '56', 'name' => 'Djanet'], + ['id' => '57', 'name' => 'In Salah'], + ['id' => '58', 'name' => 'In Guezzam'], + ]; + + DB::table('wilayas')->insert($wilayas); + } +} diff --git a/src/Models/Wilaya.php b/src/Models/Wilaya.php new file mode 100644 index 0000000..1d9324f --- /dev/null +++ b/src/Models/Wilaya.php @@ -0,0 +1,10 @@ +name('algerian-states') + // ->hasConfigFile() + ->hasMigration('create_wilayas_table'); } } From ef815be6e6dbd0743b7e24525eb3e1f9f4c683d7 Mon Sep 17 00:00:00 2001 From: medilies Date: Tue, 26 Jul 2022 18:29:57 +0100 Subject: [PATCH 2/3] Test table migration and seeding --- tests/Feature/ExampleTest.php | 8 ++++++++ tests/TestCase.php | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 tests/Feature/ExampleTest.php diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php new file mode 100644 index 0000000..3f86eb8 --- /dev/null +++ b/tests/Feature/ExampleTest.php @@ -0,0 +1,8 @@ +toArray()); + $this->assertDatabaseCount('wilayas', 58); +}); diff --git a/tests/TestCase.php b/tests/TestCase.php index f9ca40c..b40f679 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -2,6 +2,7 @@ namespace ElaborateCode\AlgerianStates\Tests; +use ElaborateCode\AlgerianStates\Database\Seeders\WilayaSeeder; use ElaborateCode\AlgerianStates\WilayaServiceProvider; use Orchestra\Testbench\TestCase as Orchestra; @@ -10,6 +11,10 @@ class TestCase extends Orchestra protected function setUp(): void { parent::setUp(); + + $this->loadMigrationsFrom(__DIR__ . '/../database/migrations'); + + $this->seed(WilayaSeeder::class); } protected function getPackageProviders($app) @@ -22,10 +27,5 @@ protected function getPackageProviders($app) public function getEnvironmentSetUp($app) { config()->set('database.default', 'testing'); - - /* - $migration = include __DIR__.'/../database/migrations/create_skeleton_table.php.stub'; - $migration->up(); - */ } } From 4d3b5485916ca1dbf395cca16978a2df5f76470a Mon Sep 17 00:00:00 2001 From: medilies Date: Tue, 26 Jul 2022 17:29:07 +0000 Subject: [PATCH 3/3] Fix styling --- tests/TestCase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/TestCase.php b/tests/TestCase.php index b40f679..a945e37 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -12,7 +12,7 @@ protected function setUp(): void { parent::setUp(); - $this->loadMigrationsFrom(__DIR__ . '/../database/migrations'); + $this->loadMigrationsFrom(__DIR__.'/../database/migrations'); $this->seed(WilayaSeeder::class); }