added UserFactory and UserTest.php

This commit is contained in:
Peter Papp
2021-02-25 17:35:51 +01:00
parent ac38d35ae1
commit 2f332197e6
15 changed files with 97 additions and 73 deletions

View File

@@ -0,0 +1,61 @@
<?php
namespace Database\Factories;
use App\User;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class UserFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = User::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'role' => $this->faker->randomElement(['user', 'admin']),
'name' => $this->faker->name(),
'email' => $this->faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => Hash::make('secret'),
'remember_token' => Str::random(10),
'created_at' => $this->faker->dateTimeBetween($startDate = '-36 months', $endDate = 'now', $timezone = null),
];
}
/**
* Configure the model factory.
*
* @return $this
*/
public function configure()
{
return $this->afterCreating(function (User $user) {
$user
->settings()
->create([
'storage_capacity' => $this->faker->randomNumber(1),
'name' => $this->faker->name,
'address' => $this->faker->address,
'state' => $this->faker->state,
'city' => $this->faker->city,
'postal_code' => $this->faker->postcode,
'country' => $this->faker->randomElement(['SK', 'CZ', 'DE', 'FR']),
'phone_number' => $this->faker->phoneNumber,
'timezone' => $this->faker->randomElement(['+1.0', '+2.0', '+3.0']),
]);
});
}
}