adds some model factories

This commit is contained in:
jncampbell 2016-03-16 21:23:07 +00:00
parent bcced0ee16
commit 26a0a8e1b7
3 changed files with 250 additions and 3 deletions

View File

@ -28,7 +28,8 @@
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
"phpspec/phpspec": "~2.1",
"fzaninotto/faker": "^1.5"
},
"autoload": {

56
composer.lock generated
View File

@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "d2df1fb5d7e5abd59ee8001f1bdf9eb0",
"content-hash": "2d529e1152961ba48763e3efe5b10fc7",
"hash": "d249be066b3a5b25f555324d70cd6581",
"content-hash": "fe410bfa7586196a9a51e9b6ceeb6a71",
"packages": [
{
"name": "aws/aws-sdk-php",
@ -3888,6 +3888,58 @@
],
"time": "2015-06-14 21:17:01"
},
{
"name": "fzaninotto/faker",
"version": "v1.5.0",
"source": {
"type": "git",
"url": "https://github.com/fzaninotto/Faker.git",
"reference": "d0190b156bcca848d401fb80f31f504f37141c8d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d0190b156bcca848d401fb80f31f504f37141c8d",
"reference": "d0190b156bcca848d401fb80f31f504f37141c8d",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "~1.5"
},
"suggest": {
"ext-intl": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.5.x-dev"
}
},
"autoload": {
"psr-4": {
"Faker\\": "src/Faker/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "François Zaninotto"
}
],
"description": "Faker is a PHP library that generates fake data for you.",
"keywords": [
"data",
"faker",
"fixtures"
],
"time": "2015-05-29 06:29:14"
},
{
"name": "phpspec/php-diff",
"version": "v1.0.2",

View File

@ -0,0 +1,194 @@
<?php
/*
|--------------------------------------------------------------------------
| Model 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 Carbon\Carbon;
$factory->define(App\Models\OrderStatus::class, function (Faker\Generator $faker) {
return [
'name' => $faker->text,
];
});
$factory->define(App\Models\TicketStatus::class, function (Faker\Generator $faker) {
return [
'name' => $faker->text,
];
});
$factory->define(App\Models\ReservedTickets::class, function (Faker\Generator $faker) {
return [
'ticket_id' => ,
'event_id' =>,
'quantity_reserved' => 50,
'expires' => Carbon::now()->addDays(2),
'session_id' => $faker->randomNumber
];
});
$factory->define(App\Models\Timezone::class, function (Faker\Generator $faker) {
return [
'name' => 'America/New_York',
'location' => 'New York'
];
});
$factory->define(App\Models\DateFormat::class, function (Faker\Generator $faker) {
return [
'format' => "",//Fill in as desired
'picker_format' => "",//Fill in as desired
'label' => "",//Fill in as desired
];
});
$factory->define(App\Models\DateTimeFormat::class, function (Faker\Generator $faker) {
return [
'format' => "",//Fill in as desired
'label' => "",//Fill in as desired
];
});
$factory->define(App\Models\Account::class, function (Faker\Generator $faker) {
return [
'first_name' => $faker->firstName,
'last_name' => $faker->lastName,
'email' => $faker->email,
'timezone_id' => ,//TIMEZONE FACTORY HERE,
'date_format_id' => ,//DATE FACTORY HERE
'datetime_format_id' => ,//DATETIME FACTORY HERE
'currency_id' => ,//CURRENCY FACTORY HERE
'name' => $faker->name,
'last_ip' => "127.0.0.1",
'last_login_date' => Carbon::now()->subDays(2),
'address1' => $faker->address,
'address2' => "",
'city' => $faker->city,
'state' => $faker->stateAbbr,
'postal_code' => $faker->postcode,
'country_id' => ,//COUNTRY FACTORY HERE
'email_footer' => 'Email footer text',
'is_active' => false,
'is_banned' => false,
'is_beta' => false,
'stripe_access_token' => str_random(10),
'stripe_refresh_token' => str_random(10),
'stripe_secret_key' => str_random(10),
'stripe_publishable_key' => str_random(10),
'stripe_raw_data' => $faker->text,
];
});
$factory->define(App\Models\User::class, function (Faker\Generator $faker) {
return [
'account_id' => $faker->randomDigit,
'first_name' => $faker->firstName,
'last_name' => $faker->lastName,
'phone' => $faker->phoneNumber,
'email' => $faker->email,
'password' => $faker->password,
'confirmation_code' => $faker->randomNumber,
'is_registered' => false,
'is_confirmed' => false,
'is_parent' => false,
'remember_token' => $faker->randomNumber
];
});
$factory->define(App\Models\Organiser::class, function (Faker\Generator $faker) {
return [
'account_id' => factory(App\Models\Account::class)->create()->id,
'name' => $faker->name,
'about' => $faker->text,
'email' => $faker->email,
'phone' => $faker->phoneNumber,
'facebook' => 'https://facebook.com/organizer-profile',
'twitter' => 'https://twitter.com/organizer-profile',
'logo_path' => 'path/to/logo',
'is_email_confirmed' => 0,
];
});
//Events Next
$factory->define(App\Models\Order::class, function (Faker\Generator $faker) {
return [
'account_id' =>, //ACCOUNT FACTORY HERE
'order_status_id' => factory(App\Models\OrderStatus::class)->create()->id,
'first_name' => $faker->firstName,
'last_name' => $faker->lastName,
'email' => $faker->email,
'ticket_pdf_path' => '/ticket/pdf/path',
'order_reference' => $faker->text,
'transaction_id' => $faker->text,
'discount' => .20,
'booking_fee' => .10,
'organiser_booking_fee' => .10,
'order_date' => Carbon::now(),
'notes' => $faker->text,
'is_deleted' => 0,
'is_cancelled' => 0,
'is_partially_refunded' => 0,
'is_refunded' => 0,
'amount' => 20.00,
'amount_refunded' => 0,
'event_id' => ,//EVENT FACTORY HERE,
];
});
$factory->define(App\Models\Ticket::class, function (Faker\Generator $faker) {
return [
'edited_by_user_id' => factory(App\Models\User::class)->create()->id,
'account_id' => ,//ACCOUNT FACTORY HERE
'order_id' => ,//ORDER FACTORY HERE
'event_id' => ,//EVENT FACTORY HERE,
'title' => $faker->name,
'description' => $faker->text,
'price' => 50.00,
'max_per_person' => 4,
'min_per_person' => 1,
'quantity_available' => 50,
'quantity_sold' => 0,
'start_sale_date' => Carbon::now(),
'end_sale_date' => Carbon::now()->addDays(20),
'sales_volume' => 0,
'organizer_fees_volume' => 0,
'is_paused' => 0
];
});
$factory->define(App\Models\OrderItem::class, function (Faker\Generator $faker) {
return [
'title' => $faker->title,
'quantity' => 5,
'unit_price' => 20.00,
'unit_booking_fee' => 2.00,
'order_id' => , //ORDER FACTORY HERE
];
});
$faker->define(App\Models\Message::class, function (Faker\Generator $faker) {
return [
'message' => $faker->text,
'subject' => $faker->text,
'recipients' => 0,
];
});