File: D:/HostingSpaces/stafa/werkenbijstafa.nl/app/Komma/Shop/Factories/OrderRelatedFactories.php
<?php
/*
|--------------------------------------------------------------------------
| Product Factories
|--------------------------------------------------------------------------
|
| Here you may define all of your model factories.
| Model factories give
| you a convenient way to create models for testing and seeding your
| database. Just tell the factory how a default model should look.
*/
use App\Komma\Shop\Orders\Models\Order;
use App\Komma\Shop\Orders\OrderStatus;
use App\Komma\Shop\Orders\Product\OrderedProduct;
use App\Komma\Shop\Orders\ProductComposite\OrderedProductComposite;
use App\Komma\Shop\Orders\ProductGroup\OrderedProductGroup;
use App\Komma\Users\Models\SiteUser;
$prefix = '';
$factory->define(OrderedProduct::class, function (Faker\Generator $faker) use ($prefix) {
$faker->addProvider(\App\Komma\Shop\Development\Fakers\ProductNamesFaker::class);
return [
'title' => $prefix.$faker->productName(),
'price' => $faker->randomNumber(4),
'stock_keeping_unit' => $faker->ean13,
'created_at' => \Carbon\Carbon::now()->toDateTimeString(),
'updated_at' => \Carbon\Carbon::now()->toDateTimeString()
];
});
$factory->define(OrderedProductGroup::class, function (Faker\Generator $faker) use ($prefix) {
return [
'active' => true,
'title' => $prefix.$faker->word,
];
});
$factory->define(OrderedProductComposite::class, function (Faker\Generator $faker) use ($prefix) {
return [
'active' => true,
'title' => $prefix.$faker->word,
];
});
$factory->define(Order::class, function (Faker\Generator $faker) use ($prefix) {
/** @var SiteUser $customer */
$customer = factory(SiteUser::class)->create();
return [
'site_user_id' => $customer->id,
'status' => $faker->randomElement(OrderStatus::getAsArray()),
'total_price' => rand(1000, 100000),
'discount' => '',
'invoice_street' => $faker->streetName,
'invoice_house_number' => $faker->numberBetween(10, 999),
'invoice_postal_code' => $faker->postcode,
'invoice_city' => $faker->city,
'invoice_telephone' => $faker->phoneNumber,
'invoice_country' => $faker->country,
'shipping_street' => $faker->streetName,
'shipping_house_number' => $faker->numberBetween(10, 999),
'shipping_postal_code' => $faker->postcode,
'shipping_city' => $faker->city,
'shipping_telephone' => $faker->phoneNumber,
'shipping_country' => $faker->country,
];
});