added custom provider for min username length for faker

This commit is contained in:
2023-03-24 08:59:15 +10:00
parent 7c9f901a7a
commit d11ac9240c
3 changed files with 27 additions and 6 deletions

View File

@@ -41,7 +41,8 @@
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
"Tests\\": "tests/",
"Faker\\": "faker/"
}
},
"scripts": {

View File

@@ -2,6 +2,7 @@
namespace Database\Factories;
use Faker\Provider\CustomInternetProvider;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
@@ -17,13 +18,16 @@ class UserFactory extends Factory
*/
public function definition()
{
$faker = \Faker\Factory::create();
$faker->addProvider(new CustomInternetProvider($faker));
return [
'username' => fake()->unique()->userName(),
'first_name' => fake()->firstName(),
'last_name' => fake()->lastName(),
'email' => fake()->safeEmail(),
'username' => $faker->unique()->userNameWithMinLength(6),
'first_name' => $faker->firstName(),
'last_name' => $faker->lastName(),
'email' => $faker->safeEmail(),
'email_verified_at' => now(),
'phone' => fake()->phoneNumber(),
'phone' => $faker->phoneNumber(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];

View File

@@ -0,0 +1,16 @@
<?php
namespace Faker\Provider;
use Faker\Provider\Internet as BaseInternet;
class CustomInternetProvider extends BaseInternet
{
public function userNameWithMinLength($minLength = 6)
{
$username = $this->userName();
while (strlen($username) < $minLength) {
$username .= $this->randomNumber();
}
return $username;
}
}