Skip to content

Commit 97c2e63

Browse files
committed
user factory for docker builds
1 parent daae495 commit 97c2e63

File tree

1 file changed

+36
-4
lines changed

1 file changed

+36
-4
lines changed

Dockerfile

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

149+
# User factory for example app (ensures 'formatted' is populated)
150+
RUN cat > /example/database/factories/UserFactory.php <<'EOM'
151+
<?php
152+
153+
namespace Database\Factories;
154+
155+
use App\Models\User;
156+
use Illuminate\Database\Eloquent\Factories\Factory;
157+
158+
class UserFactory extends Factory
159+
{
160+
protected $model = User::class;
161+
162+
public function definition(): array
163+
{
164+
$name = $this->faker->name();
165+
166+
return [
167+
'name' => $name,
168+
'formatted' => $name,
169+
'email' => $this->faker->unique()->safeEmail(),
170+
// store a simple known password (hashed)
171+
'password' => bcrypt('test'),
172+
'active' => $this->faker->boolean(),
173+
];
174+
}
175+
}
176+
EOM
177+
149178
# Pivot table for memberships
150179
RUN cat > /example/database/migrations/2021_01_01_000002_create_group_user_table.php <<'EOM'
151180
<?php
@@ -220,17 +249,20 @@ EOM
220249
RUN cat > /example/database/seeders/DemoSeeder.php <<'EOM'
221250
<?php
222251

223-
namespace Database\Seeders;
252+
namespace Database\\Seeders;
224253

225-
use Illuminate\Database\Seeder;
226-
use App\Models\User;
227-
use App\Models\Group;
254+
use Illuminate\\Database\\Seeder;
255+
use App\\Models\\User;
256+
use App\\Models\\Group;
228257

229258
class DemoSeeder extends Seeder
230259
{
231260
public function run(): void
232261
{
262+
// Create users via the UserFactory; the factory sets 'formatted'.
233263
$users = User::factory()->count(50)->create();
264+
265+
// Create groups and attach members
234266
$groups = Group::factory()->count(10)->create();
235267

236268
foreach ($groups as $g) {

0 commit comments

Comments
 (0)