Skip to content

Commit 7ff3189

Browse files
author
Arie Timmerman
committed
improvements
1 parent 222491a commit 7ff3189

File tree

2 files changed

+25
-12
lines changed

2 files changed

+25
-12
lines changed

Dockerfile

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ class GroupFactory extends Factory
146146
}
147147
EOM
148148

149-
# User factory for example app (ensures 'formatted' is populated)
149+
# User factory for example app (related username/email/formatted)
150150
RUN cat > /example/database/factories/UserFactory.php <<'EOM'
151151
<?php
152152

@@ -161,13 +161,18 @@ class UserFactory extends Factory
161161

162162
public function definition(): array
163163
{
164-
$name = $this->faker->name();
164+
$first = $this->faker->firstName();
165+
$last = $this->faker->lastName();
166+
167+
$formatted = "{$first} {$last}";
168+
$base = strtolower(substr($first, 0, 1) . preg_replace('/[^a-z0-9]/i', '', $last));
169+
$suffix = $this->faker->unique()->numberBetween(100, 999999);
170+
$username = $base . $suffix;
165171

166172
return [
167-
'name' => $name,
168-
'formatted' => $name,
169-
'email' => $this->faker->unique()->safeEmail(),
170-
// store a simple known password (hashed)
173+
'name' => $username, // login username
174+
'formatted' => $formatted, // full name
175+
'email' => "{$username}@example.test",
171176
'password' => bcrypt('test'),
172177
'active' => $this->faker->boolean(),
173178
];

database/factories/UserFactory.php

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@
22

33
use Faker\Generator;
44

5+
/** @var \Illuminate\Database\Eloquent\Factory $factory */
56
$factory->define(ArieTimmerman\Laravel\SCIMServer\Tests\Model\User::class, function (Generator $faker) {
7+
$first = $faker->firstName;
8+
$last = $faker->lastName;
9+
10+
$formatted = "{$first} {$last}";
11+
$base = strtolower(substr($first, 0, 1) . preg_replace('/[^a-z0-9]/i', '', $last));
12+
$suffix = $faker->numberBetween(100, 9999); // helps avoid collisions
13+
$username = $base . $suffix;
14+
615
return [
7-
// 'username' => $faker->userName,
8-
'email' => $faker->unique()->email,
9-
'formatted' => $faker->name,
10-
'name' => $faker->name,
11-
'password'=>'test',
12-
'active' => $faker->boolean,
16+
'email' => "{$username}@example.test",
17+
'formatted' => $formatted,
18+
'name' => $username, // login-style username
19+
'password' => 'test',
20+
'active' => $faker->boolean,
1321
];
1422
});

0 commit comments

Comments
 (0)