Skip to content

Commit d0a7256

Browse files
authored
Use 'fake' helper in factories (#736)
1 parent ad398bf commit d0a7256

31 files changed

+157
-157
lines changed

src/Generators/FactoryGenerator.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ protected function buildDefinition(Model $model): string
122122
} elseif (in_array($column->dataType(), ['enum', 'set']) && !empty($column->attributes())) {
123123
$faker = FakerRegistry::fakerDataType($column->dataType()) ?? FakerRegistry::fakerData($column->name());
124124
$definition .= str_repeat(self::INDENT, 3) . "'{$column->name()}' => ";
125-
$definition .= '$this->faker->' . $faker;
125+
$definition .= 'fake()->' . $faker;
126126
$definition .= ',' . PHP_EOL;
127127
$definition = str_replace(
128128
"/** {$column->dataType()}_attributes **/",
@@ -132,7 +132,7 @@ protected function buildDefinition(Model $model): string
132132
} elseif (in_array($column->dataType(), ['decimal', 'double', 'float'])) {
133133
$faker = FakerRegistry::fakerData($column->name()) ?? FakerRegistry::fakerDataType($column->dataType());
134134
$definition .= str_repeat(self::INDENT, 3) . "'{$column->name()}' => ";
135-
$definition .= '$this->faker->' . $faker;
135+
$definition .= 'fake()->' . $faker;
136136
$definition .= ',' . PHP_EOL;
137137

138138
$precision = min([65, intval($column->attributes()[0] ?? 10)]);
@@ -150,8 +150,8 @@ protected function buildDefinition(Model $model): string
150150
if ($column->isNullable()) {
151151
continue;
152152
}
153-
$definition .= sprintf('%s%s => $this->faker->%s,%s', str_repeat(self::INDENT, 3), "'{$column->name()}_id'", FakerRegistry::fakerDataType('id'), PHP_EOL);
154-
$definition .= sprintf('%s%s => $this->faker->%s,%s', str_repeat(self::INDENT, 3), "'{$column->name()}_type'", FakerRegistry::fakerDataType('string'), PHP_EOL);
153+
$definition .= sprintf('%s%s => fake()->%s,%s', str_repeat(self::INDENT, 3), "'{$column->name()}_id'", FakerRegistry::fakerDataType('id'), PHP_EOL);
154+
$definition .= sprintf('%s%s => fake()->%s,%s', str_repeat(self::INDENT, 3), "'{$column->name()}_type'", FakerRegistry::fakerDataType('string'), PHP_EOL);
155155
} elseif ($column->dataType() === 'rememberToken') {
156156
$definition .= str_repeat(self::INDENT, 3) . "'{$column->name()}' => ";
157157
$definition .= 'Str::random(10)';
@@ -178,7 +178,7 @@ protected function buildDefinition(Model $model): string
178178
$faker = sprintf("regexify('[A-Za-z0-9]{%s}')", current($column->attributes()));
179179
}
180180

181-
$definition .= '$this->faker->' . $faker;
181+
$definition .= 'fake()->' . $faker;
182182
$definition .= ',' . PHP_EOL;
183183
}
184184
}

src/Generators/PhpUnitTestGenerator.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -235,9 +235,9 @@ protected function buildTestCases(Controller $controller): string
235235
} else {
236236
if ($local_column->isDate()) {
237237
$this->addImport($controller, 'Illuminate\\Support\\Carbon');
238-
$faker = sprintf('$%s = Carbon::parse($this->faker->%s);', $data, FakerRegistry::fakerData($local_column->name()) ?? FakerRegistry::fakerDataType($local_model->column($column)->dataType()));
238+
$faker = sprintf('$%s = Carbon::parse(fake()->%s);', $data, FakerRegistry::fakerData($local_column->name()) ?? FakerRegistry::fakerDataType($local_model->column($column)->dataType()));
239239
} else {
240-
$faker = sprintf('$%s = $this->faker->%s;', $data, FakerRegistry::fakerData($local_column->name()) ?? FakerRegistry::fakerDataType($local_model->column($column)->dataType()));
240+
$faker = sprintf('$%s = fake()->%s;', $data, FakerRegistry::fakerData($local_column->name()) ?? FakerRegistry::fakerDataType($local_model->column($column)->dataType()));
241241
}
242242
}
243243

@@ -260,9 +260,9 @@ protected function buildTestCases(Controller $controller): string
260260
} else {
261261
if ($local_column->isDate()) {
262262
$this->addImport($controller, 'Illuminate\\Support\\Carbon');
263-
$faker = sprintf('$%s = Carbon::parse($this->faker->%s);', $local_column->name(), FakerRegistry::fakerData($local_column->name()) ?? FakerRegistry::fakerDataType($local_column->dataType()));
263+
$faker = sprintf('$%s = Carbon::parse(fake()->%s);', $local_column->name(), FakerRegistry::fakerData($local_column->name()) ?? FakerRegistry::fakerDataType($local_column->dataType()));
264264
} else {
265-
$faker = sprintf('$%s = $this->faker->%s;', $local_column->name(), FakerRegistry::fakerData($local_column->name()) ?? FakerRegistry::fakerDataType($local_column->dataType()));
265+
$faker = sprintf('$%s = fake()->%s;', $local_column->name(), FakerRegistry::fakerData($local_column->name()) ?? FakerRegistry::fakerDataType($local_column->dataType()));
266266
}
267267
$variable_name = $local_column->name();
268268
}

tests/fixtures/factories/all-column-types.php

+47-47
Original file line numberDiff line numberDiff line change
@@ -21,57 +21,57 @@ class AllTypeFactory extends Factory
2121
public function definition(): array
2222
{
2323
return [
24-
'bigInteger' => $this->faker->numberBetween(-100000, 100000),
25-
'binary' => $this->faker->sha256(),
26-
'boolean' => $this->faker->boolean(),
27-
'char' => $this->faker->randomLetter(),
28-
'date' => $this->faker->date(),
29-
'dateTime' => $this->faker->dateTime(),
30-
'dateTimeTz' => $this->faker->dateTime(),
31-
'decimal' => $this->faker->randomFloat(0, 0, 9999999999.),
32-
'double' => $this->faker->randomFloat(0, 0, 9999999999.),
33-
'enum' => $this->faker->randomElement(["1","2","3"]),
34-
'float' => $this->faker->randomFloat(0, 0, 9999999999.),
35-
'fullText' => $this->faker->text(),
36-
'geometry' => $this->faker->word(),
37-
'geometryCollection' => $this->faker->word(),
38-
'integer' => $this->faker->numberBetween(-10000, 10000),
39-
'ipAddress' => $this->faker->ipv4(),
24+
'bigInteger' => fake()->numberBetween(-100000, 100000),
25+
'binary' => fake()->sha256(),
26+
'boolean' => fake()->boolean(),
27+
'char' => fake()->randomLetter(),
28+
'date' => fake()->date(),
29+
'dateTime' => fake()->dateTime(),
30+
'dateTimeTz' => fake()->dateTime(),
31+
'decimal' => fake()->randomFloat(0, 0, 9999999999.),
32+
'double' => fake()->randomFloat(0, 0, 9999999999.),
33+
'enum' => fake()->randomElement(["1","2","3"]),
34+
'float' => fake()->randomFloat(0, 0, 9999999999.),
35+
'fullText' => fake()->text(),
36+
'geometry' => fake()->word(),
37+
'geometryCollection' => fake()->word(),
38+
'integer' => fake()->numberBetween(-10000, 10000),
39+
'ipAddress' => fake()->ipv4(),
4040
'json' => '{}',
4141
'jsonb' => '{}',
42-
'lineString' => $this->faker->word(),
43-
'longText' => $this->faker->text(),
44-
'macAddress' => $this->faker->macAddress(),
45-
'mediumInteger' => $this->faker->numberBetween(-10000, 10000),
46-
'mediumText' => $this->faker->text(),
47-
'morphs_id' => $this->faker->randomDigitNotNull(),
48-
'morphs_type' => $this->faker->word(),
49-
'ulidMorphs' => $this->faker->word(),
50-
'uuidMorphs' => $this->faker->word(),
51-
'multiLineString' => $this->faker->word(),
52-
'multiPoint' => $this->faker->word(),
53-
'multiPolygon' => $this->faker->word(),
54-
'point' => $this->faker->word(),
55-
'polygon' => $this->faker->word(),
42+
'lineString' => fake()->word(),
43+
'longText' => fake()->text(),
44+
'macAddress' => fake()->macAddress(),
45+
'mediumInteger' => fake()->numberBetween(-10000, 10000),
46+
'mediumText' => fake()->text(),
47+
'morphs_id' => fake()->randomDigitNotNull(),
48+
'morphs_type' => fake()->word(),
49+
'ulidMorphs' => fake()->word(),
50+
'uuidMorphs' => fake()->word(),
51+
'multiLineString' => fake()->word(),
52+
'multiPoint' => fake()->word(),
53+
'multiPolygon' => fake()->word(),
54+
'point' => fake()->word(),
55+
'polygon' => fake()->word(),
5656
'rememberToken' => Str::random(10),
57-
'set' => $this->faker->randomElement(["1","2","3"]),
58-
'smallInteger' => $this->faker->numberBetween(-1000, 1000),
59-
'string' => $this->faker->word(),
60-
'text' => $this->faker->text(),
61-
'time' => $this->faker->time(),
62-
'timeTz' => $this->faker->time(),
63-
'timestamp' => $this->faker->dateTime(),
64-
'timestampTz' => $this->faker->dateTime(),
65-
'tinyInteger' => $this->faker->numberBetween(-8, 8),
66-
'unsignedBigInteger' => $this->faker->randomNumber(),
67-
'unsignedDecimal' => $this->faker->randomNumber(),
68-
'unsignedInteger' => $this->faker->randomNumber(),
69-
'unsignedMediumInteger' => $this->faker->randomNumber(),
70-
'unsignedSmallInteger' => $this->faker->randomNumber(),
71-
'unsignedTinyInteger' => $this->faker->randomDigitNotNull(),
57+
'set' => fake()->randomElement(["1","2","3"]),
58+
'smallInteger' => fake()->numberBetween(-1000, 1000),
59+
'string' => fake()->word(),
60+
'text' => fake()->text(),
61+
'time' => fake()->time(),
62+
'timeTz' => fake()->time(),
63+
'timestamp' => fake()->dateTime(),
64+
'timestampTz' => fake()->dateTime(),
65+
'tinyInteger' => fake()->numberBetween(-8, 8),
66+
'unsignedBigInteger' => fake()->randomNumber(),
67+
'unsignedDecimal' => fake()->randomNumber(),
68+
'unsignedInteger' => fake()->randomNumber(),
69+
'unsignedMediumInteger' => fake()->randomNumber(),
70+
'unsignedSmallInteger' => fake()->randomNumber(),
71+
'unsignedTinyInteger' => fake()->randomDigitNotNull(),
7272
'ulid' => (string) Str::ulid(),
73-
'uuid' => $this->faker->uuid(),
74-
'year' => $this->faker->year(),
73+
'uuid' => fake()->uuid(),
74+
'year' => fake()->year(),
7575
];
7676
}
7777
}

tests/fixtures/factories/factory-smallint-and-tinyint.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class ModelFactory extends Factory
2121
public function definition(): array
2222
{
2323
return [
24-
'market_type' => $this->faker->numberBetween(-8, 8),
25-
'deposit' => $this->faker->randomNumber(),
24+
'market_type' => fake()->numberBetween(-8, 8),
25+
'deposit' => fake()->randomNumber(),
2626
];
2727
}
2828
}

tests/fixtures/factories/fake-nullables.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ class PostFactory extends Factory
2222
public function definition(): array
2323
{
2424
return [
25-
'title' => $this->faker->sentence(4),
26-
'content' => $this->faker->paragraphs(3, true),
25+
'title' => fake()->sentence(4),
26+
'content' => fake()->paragraphs(3, true),
2727
'author_id' => User::factory(),
2828
];
2929
}

tests/fixtures/factories/model-key-constraints.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ public function definition(): array
2626
{
2727
return [
2828
'user_id' => User::factory(),
29-
'external_id' => $this->faker->word(),
29+
'external_id' => fake()->word(),
3030
'sub_id' => Subscription::factory(),
31-
'expires_at' => $this->faker->dateTime(),
31+
'expires_at' => fake()->dateTime(),
3232
'meta' => '[]',
3333
'customer_id' => Customer::factory(),
3434
'tran_id' => Transaction::factory(),

tests/fixtures/factories/model-modifiers.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ class ModifierFactory extends Factory
2121
public function definition(): array
2222
{
2323
return [
24-
'title' => $this->faker->sentence(4),
25-
'name' => $this->faker->name(),
26-
'content' => $this->faker->paragraphs(3, true),
27-
'amount' => $this->faker->randomFloat(3, 0, 999999.999),
28-
'total' => $this->faker->randomFloat(2, 0, 99999999.99),
29-
'overflow' => $this->faker->randomFloat(30, 0, 99999999999999999999999999999999999.999999999999999999999999999999),
30-
'ssn' => $this->faker->ssn(),
31-
'role' => $this->faker->randomElement(["user","admin","owner"]),
24+
'title' => fake()->sentence(4),
25+
'name' => fake()->name(),
26+
'content' => fake()->paragraphs(3, true),
27+
'amount' => fake()->randomFloat(3, 0, 999999.999),
28+
'total' => fake()->randomFloat(2, 0, 99999999.99),
29+
'overflow' => fake()->randomFloat(30, 0, 99999999999999999999999999999999999.999999999999999999999999999999),
30+
'ssn' => fake()->ssn(),
31+
'role' => fake()->randomElement(["user","admin","owner"]),
3232
];
3333
}
3434
}

tests/fixtures/factories/nested-components.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class UserFactory extends Factory
2121
public function definition(): array
2222
{
2323
return [
24-
'name' => $this->faker->name(),
25-
'password' => $this->faker->password(),
24+
'name' => fake()->name(),
25+
'password' => fake()->password(),
2626
];
2727
}
2828
}

tests/fixtures/factories/phone.php

+7-7
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ class PhoneFactory extends Factory
2222
public function definition(): array
2323
{
2424
return [
25-
'label' => $this->faker->word(),
25+
'label' => fake()->word(),
2626
'user_id' => User::factory(),
27-
'phone_number' => $this->faker->phoneNumber(),
28-
'type' => $this->faker->randomElement(["home","cell"]),
29-
'status' => $this->faker->randomElement(["archived","deleted"]),
30-
'foo_id' => $this->faker->randomDigitNotNull(),
31-
'foo_type' => $this->faker->word(),
32-
'tag' => $this->faker->regexify('[A-Za-z0-9]{3}'),
27+
'phone_number' => fake()->phoneNumber(),
28+
'type' => fake()->randomElement(["home","cell"]),
29+
'status' => fake()->randomElement(["archived","deleted"]),
30+
'foo_id' => fake()->randomDigitNotNull(),
31+
'foo_type' => fake()->word(),
32+
'tag' => fake()->regexify('[A-Za-z0-9]{3}'),
3333
];
3434
}
3535
}

tests/fixtures/factories/post-configured.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ class PostFactory extends Factory
2222
public function definition(): array
2323
{
2424
return [
25-
'title' => $this->faker->sentence(4),
25+
'title' => fake()->sentence(4),
2626
'author_id' => Author::factory(),
27-
'author_bio' => $this->faker->text(),
28-
'content' => $this->faker->paragraphs(3, true),
29-
'published_at' => $this->faker->dateTime(),
30-
'updated_at' => $this->faker->dateTime(),
31-
'word_count' => $this->faker->randomNumber(),
27+
'author_bio' => fake()->text(),
28+
'content' => fake()->paragraphs(3, true),
29+
'published_at' => fake()->dateTime(),
30+
'updated_at' => fake()->dateTime(),
31+
'word_count' => fake()->randomNumber(),
3232
];
3333
}
3434
}

tests/fixtures/factories/post.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ class PostFactory extends Factory
2222
public function definition(): array
2323
{
2424
return [
25-
'title' => $this->faker->sentence(4),
25+
'title' => fake()->sentence(4),
2626
'author_id' => Author::factory(),
27-
'author_bio' => $this->faker->text(),
28-
'content' => $this->faker->paragraphs(3, true),
29-
'published_at' => $this->faker->dateTime(),
30-
'updated_at' => $this->faker->dateTime(),
31-
'word_count' => $this->faker->randomNumber(),
27+
'author_bio' => fake()->text(),
28+
'content' => fake()->paragraphs(3, true),
29+
'published_at' => fake()->dateTime(),
30+
'updated_at' => fake()->dateTime(),
31+
'word_count' => fake()->randomNumber(),
3232
];
3333
}
3434
}

tests/fixtures/factories/resource-statements.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ class UserFactory extends Factory
2121
public function definition(): array
2222
{
2323
return [
24-
'name' => $this->faker->name(),
25-
'email' => $this->faker->safeEmail(),
26-
'password' => $this->faker->password(),
24+
'name' => fake()->name(),
25+
'email' => fake()->safeEmail(),
26+
'password' => fake()->password(),
2727
'remember_token' => Str::random(10),
2828
];
2929
}

tests/fixtures/factories/team.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class TeamFactory extends Factory
2222
public function definition(): array
2323
{
2424
return [
25-
'name' => $this->faker->name(),
25+
'name' => fake()->name(),
2626
'owner_id' => User::factory(),
2727
];
2828
}

tests/fixtures/factories/unconventional-foreign-key.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class StateFactory extends Factory
2222
public function definition(): array
2323
{
2424
return [
25-
'name' => $this->faker->name(),
25+
'name' => fake()->name(),
2626
'countries_id' => Country::factory(),
2727
'country_code' => Country::factory()->create()->code,
2828
'ccid' => Country::factory()->create()->ccid,

tests/fixtures/factories/unconventional.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class TeamFactory extends Factory
2323
public function definition(): array
2424
{
2525
return [
26-
'name' => $this->faker->name(),
26+
'name' => fake()->name(),
2727
'owner' => Owner::factory(),
2828
'manager' => User::factory(),
2929
'options' => '{}',

tests/fixtures/factories/with-enum.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class PostFactory extends Factory
2121
public function definition(): array
2222
{
2323
return [
24-
'name' => $this->faker->randomElement(["one","two","three"]),
24+
'name' => fake()->randomElement(["one","two","three"]),
2525
];
2626
}
2727
}

tests/fixtures/tests/phpunit/api-resource-nested.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public function store_uses_form_request_validation(): void
4545
public function store_saves(): void
4646
{
4747
$post = Post::factory()->create();
48-
$body = $this->faker->text();
48+
$body = fake()->text();
4949
$user = User::factory()->create();
5050

5151
$response = $this->post(route('comments.store', ['post' => $post]), [
@@ -95,7 +95,7 @@ public function update_behaves_as_expected(): void
9595
{
9696
$comment = Comment::factory()->create();
9797
$post = Post::factory()->create();
98-
$body = $this->faker->text();
98+
$body = fake()->text();
9999
$user = User::factory()->create();
100100

101101
$response = $this->put(route('comments.update', ['post' => $post, 'comment' => $comment]), [

tests/fixtures/tests/phpunit/api-shorthand-validation.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ public function store_uses_form_request_validation(): void
4343
#[Test]
4444
public function store_saves(): void
4545
{
46-
$name = $this->faker->name();
46+
$name = fake()->name();
4747
$certificate_type = CertificateType::factory()->create();
48-
$reference = $this->faker->word();
49-
$document = $this->faker->word();
50-
$expiry_date = Carbon::parse($this->faker->date());
48+
$reference = fake()->word();
49+
$document = fake()->word();
50+
$expiry_date = Carbon::parse(fake()->date());
5151

5252
$response = $this->post(route('certificates.store'), [
5353
'name' => $name,
@@ -98,11 +98,11 @@ public function update_uses_form_request_validation(): void
9898
public function update_behaves_as_expected(): void
9999
{
100100
$certificate = Certificate::factory()->create();
101-
$name = $this->faker->name();
101+
$name = fake()->name();
102102
$certificate_type = CertificateType::factory()->create();
103-
$reference = $this->faker->word();
104-
$document = $this->faker->word();
105-
$expiry_date = Carbon::parse($this->faker->date());
103+
$reference = fake()->word();
104+
$document = fake()->word();
105+
$expiry_date = Carbon::parse(fake()->date());
106106

107107
$response = $this->put(route('certificates.update', $certificate), [
108108
'name' => $name,

0 commit comments

Comments
 (0)