This repository was archived by the owner on Jun 29, 2021. It is now read-only.
File tree 8 files changed +127
-0
lines changed
Tests/Feature/Database/Seeders
Tests/Features/Database/Seeders
tests/Feature/Database/Seeders
8 files changed +127
-0
lines changed Original file line number Diff line number Diff line change @@ -5,3 +5,4 @@ Homestead.yaml
5
5
.env
6
6
.phpunit.result.cache
7
7
/.php_cs.cache
8
+ database /database.sqlite
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Database \Seeders ;
4
+
5
+ use Domains \Links \Database \Seeders \LinksTableSeeder ;
6
+ use Exception ;
7
+ use Illuminate \Database \Seeder ;
8
+
9
+ class DatabaseSeeder extends Seeder
10
+ {
11
+ public function run (): void
12
+ {
13
+ if ($ this ->container ['config ' ]->get ('app.env ' ) === 'production ' ) {
14
+ throw new Exception ('This is not allowed when in production environment. ' );
15
+ }
16
+
17
+ $ this ->call (LinksTableSeeder::class);
18
+ }
19
+ }
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Domains \Links \Database \Seeders ;
4
+
5
+ use Domains \Links \Database \Factories \LinkFactory ;
6
+ use Illuminate \Database \Seeder ;
7
+
8
+ class LinksTableSeeder extends Seeder
9
+ {
10
+ public function run (): void
11
+ {
12
+ LinkFactory::times (20 )
13
+ ->approved ()
14
+ ->create ();
15
+ }
16
+ }
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Domains \Links \Tests \Feature \Database \Seeders ;
4
+
5
+ use Domains \Links \Database \Seeders \LinksTableSeeder ;
6
+ use Domains \Links \Models \Link ;
7
+ use Laravel \Lumen \Testing \DatabaseMigrations ;
8
+ use Tests \TestCase ;
9
+
10
+ class LinksTableSeederTest extends TestCase
11
+ {
12
+ use DatabaseMigrations;
13
+
14
+ /** @test */
15
+ public function it_seeds_links_table (): void
16
+ {
17
+ $ this ->artisan ('db:seed ' , ['--class ' => LinksTableSeeder::class]);
18
+
19
+ self ::assertEquals (20 , Link::count ());
20
+ }
21
+ }
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Domains \Tags \Database \Seeders ;
4
+
5
+ use Domains \Tags \Database \Factories \TagFactory ;
6
+ use Illuminate \Database \Seeder ;
7
+
8
+ class TagsTableSeeder extends Seeder
9
+ {
10
+ public function run (): void
11
+ {
12
+ TagFactory::new ()
13
+ ->createMany ([
14
+ ['name ' => 'Eloquent ' ],
15
+ ['name ' => 'Livewire ' ],
16
+ ['name ' => 'Vue ' ],
17
+ ['name ' => 'Testing ' ],
18
+ ]);
19
+ }
20
+ }
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Domains \Tags \Tests \Features \Database \Seeders ;
4
+
5
+ use Domains \Tags \Database \Seeders \TagsTableSeeder ;
6
+ use Laravel \Lumen \Testing \DatabaseMigrations ;
7
+ use Tests \TestCase ;
8
+
9
+ class TagsTableSeederTest extends TestCase
10
+ {
11
+ use DatabaseMigrations;
12
+
13
+ /** @test */
14
+ public function it_seeds_tags_table (): void
15
+ {
16
+ $ this ->artisan ('db:seed ' , ['--class ' => TagsTableSeeder::class]);
17
+
18
+ $ this ->seeInDatabase ('tags ' , ['name ' => 'Eloquent ' ])
19
+ ->seeInDatabase ('tags ' , ['name ' => 'Livewire ' ])
20
+ ->seeInDatabase ('tags ' , ['name ' => 'Vue ' ])
21
+ ->seeInDatabase ('tags ' , ['name ' => 'Testing ' ]);
22
+ }
23
+ }
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Tests \Feature \Database \Seeders ;
4
+
5
+ use Laravel \Lumen \Testing \DatabaseMigrations ;
6
+ use Tests \TestCase ;
7
+
8
+ class DatabaseSeederTest extends TestCase
9
+ {
10
+ use DatabaseMigrations;
11
+
12
+ /** @test */
13
+ public function it_prevents_seeds_to_run_in_production (): void
14
+ {
15
+ $ this ->expectException (\Exception::class);
16
+
17
+ $ this ->app ['config ' ]->set ('app.env ' , 'production ' );
18
+
19
+ $ this ->artisan ('db:seed ' );
20
+ }
21
+
22
+ /** @test */
23
+ public function it_can_seed_database (): void
24
+ {
25
+ self ::assertEquals (0 , $ this ->artisan ('db:seed ' ));
26
+ }
27
+ }
You can’t perform that action at this time.
0 commit comments