forked from larastan/larastan
/
model-factories.php
52 lines (41 loc) · 2.91 KB
/
model-factories.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
namespace ModelFactories;
use App\User;
use function PHPStan\Testing\assertType;
assertType('Database\Factories\UserFactory', User::factory());
assertType('Database\Factories\UserFactory', User::factory()->new());
assertType('App\User', User::factory()->createOne());
assertType('App\User', User::factory()->createOneQuietly());
assertType('Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory()->createMany([]));
assertType('App\User', User::factory()->makeOne());
assertType('App\User', User::factory()->create());
assertType('App\User', User::factory()->createQuietly());
assertType('App\User', User::factory()->make());
assertType('App\User', User::factory()->configure()->create());
assertType('App\User', User::factory()->configure()->createQuietly());
assertType('App\User', User::factory()->configure()->make());
assertType('Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory(2)->create());
assertType('Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory(2)->createQuietly());
assertType('Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory(2)->make());
assertType('App\User', User::factory(2)->createOneQuietly());
assertType('Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory()->count(1)->create());
assertType('Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory()->count(1)->createQuietly());
assertType('Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory()->count(1)->make());
assertType('App\User', User::factory()->count(2)->createOneQuietly());
assertType('App\User', User::factory(2)->count(null)->create());
assertType('App\User', User::factory(2)->count(null)->createQuietly());
assertType('App\User', User::factory(2)->count(null)->createOneQuietly());
assertType('App\User', User::factory(2)->count(null)->make());
assertType('App\User', User::factory(2)->state(['foo'])->count(null)->create());
assertType('App\User', User::factory(2)->state(['foo'])->count(null)->createQuietly());
assertType('App\User', User::factory(2)->state(['foo'])->count(null)->createOneQuietly());
assertType('App\User', User::factory(2)->state(['foo'])->count(null)->make());
function foo(?int $foo): void
{
assertType('App\User|Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory()->count($foo)->create());
assertType('App\User|Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory()->count($foo)->createQuietly());
assertType('App\User|Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory()->count($foo)->make());
assertType('App\User|Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory($foo)->create());
assertType('App\User|Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory($foo)->createQuietly());
assertType('App\User|Illuminate\Database\Eloquent\Collection<int, App\User>', User::factory($foo)->make());
}