Add test models to the seeders.
continuous-integration/drone/push Build is passing Details

main
KKlochko 2 years ago
parent 0430a2bed1
commit d4f3072169

@ -4,14 +4,35 @@ namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\Company;
use App\Models\Category;
class CategorySeeder extends Seeder
{
protected Company $test_company;
protected $test_category = [
'uuid' => 'b7301b09-fc1c-4d0d-a556-ed70fc8e40f7',
'name' => 'Pizza',
'url' => 'pizza',
'company_id' => null
];
public function setTestCompany()
{
$this->test_company = Company::firstOrCreate([
'name' => 'testCompany',
]);
$this->test_category['company_id'] = $this->test_company->id;
}
/**
* Run the database seeds.
*/
public function run(): void
{
//
$this->setTestCompany();
Category::factory()->create($this->test_category);
}
}

@ -8,6 +8,12 @@ use App\Models\City;
class CitySeeder extends Seeder
{
protected $test_city = [
'uuid' => 'b7307b09-fc0c-4d0d-a556-ed70fc8e40f7',
'name' => 'testCity',
'url' => 'test_city'
];
/**
* Run the database seeds.
*/
@ -16,5 +22,7 @@ class CitySeeder extends Seeder
City::factory()
->count(10)
->create();
City::factory()->create($this->test_city);
}
}

@ -4,14 +4,22 @@ namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\Company;
class CompanySeeder extends Seeder
{
protected $test_company = [
'uuid' => 'b7301b09-fc0c-4d0d-a556-ed70fc8e40f7',
'name' => 'testCompany',
'image' => null,
'description' => 'Pellentesque tristique imperdiet tortor.'
];
/**
* Run the database seeds.
*/
public function run(): void
{
//
Company::factory()->create($this->test_company);
}
}

@ -13,7 +13,11 @@ class DatabaseSeeder extends Seeder
public function run(): void
{
$this->call([
UserSeeder::class,
CitySeeder::class,
CompanySeeder::class,
CategorySeeder::class,
ItemSeeder::class,
]);
}
}

@ -4,14 +4,56 @@ namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\Category;
use App\Models\Item;
class ItemSeeder extends Seeder
{
protected Category $test_category;
protected $test_items = [
[
'uuid' => 'b7301b09-fc1c-4d0d-a556-ed70fc8e41f7',
'name' => 'Pizza Polo',
'url' => 'pizza-polo',
'description' => 'Nunc porta vulputate tellus.',
'price' => 79.99,
'image' => null,
'category_id' => null
],
[
'uuid' => 'b7301b09-fc1c-4d0d-a556-ed70fc9e40f7',
'name' => 'Pizza Cezar',
'url' => 'pizza-cezar',
'description' => 'Sed bibendum.',
'price' => 99.99,
'image' => null,
'category_id' => null
]
];
public function setTestCategory()
{
$this->test_category = Category::firstOrCreate([
'name' => 'Pizza',
]);
$this->test_category['company_id'] = $this->test_category->id;
// Set category_id for all items
$size = count($this->test_items);
for ($i = 0; $i < $size; $i++)
$this->test_items[$i]['category_id'] = $this->test_category->id;
}
/**
* Run the database seeds.
*/
public function run(): void
{
//
$this->setTestCategory();
foreach($this->test_items as $test_item)
Item::factory()->create($test_item);
}
}

@ -0,0 +1,23 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\User;
class UserSeeder extends Seeder
{
protected $test_user = [
'username' => 'Test',
'matrix_username' => '@test:test.com',
'phone' => '380661234567'
];
/**
* Run the database seeds.
*/
public function run(): void
{
User::factory()->create($this->test_user);
}
}
Loading…
Cancel
Save