1+ <?php
2+
3+ namespace Tests \Unit ;
4+
5+ use Illuminate \Foundation \Testing \DatabaseMigrations ;
6+ use Illuminate \Foundation \Testing \RefreshDatabase ;
7+ use Illuminate \Foundation \Testing \WithFaker ;
8+ use Spatie \Permission \Models \Role ;
9+ use Tests \TestCase ;
10+ use App \Models \Folder ;
11+
12+ use Illuminate \Http \UploadedFile ;
13+
14+ use App \Services \RemoveFolderService ;
15+
16+ class RemoveFolderServiceTest extends TestCase
17+ {
18+ use DatabaseMigrations;
19+
20+ public function testFindFolderChildrens (){
21+ $ folder = new Folder ();
22+ $ folder ->name = 'test1 ' ;
23+ $ folder ->save ();
24+ $ folder2 = new Folder ();
25+ $ folder2 ->name = 'test2 ' ;
26+ $ folder2 ->folder_id = $ folder ->id ;
27+ $ folder2 ->save ();
28+ $ media = $ folder2 ->getMedia ()->first ();
29+ $ removeFolderService = new RemoveFolderService ();
30+ $ this ->assertSame ($ removeFolderService ->foldersArray , array ());
31+ $ removeFolderService ->findFolderChildAnd ($ folder ->id , null );
32+ $ result = $ removeFolderService ->foldersArray ;
33+ $ this ->assertSame ($ result [0 ], $ folder ->id );
34+ $ this ->assertSame ($ result [1 ], $ folder2 ->id );
35+ }
36+
37+ public function testFolderDelete (){
38+ $ folder = new Folder ();
39+ $ folder ->name = 'test1 ' ;
40+ $ folder ->save ();
41+ $ folder2 = new Folder ();
42+ $ folder2 ->name = 'test2 ' ;
43+ $ folder2 ->folder_id = $ folder ->id ;
44+ $ folder2 ->save ();
45+ $ folder3 = new Folder ();
46+ $ folder3 ->name = 'test3 ' ;
47+ $ folder3 ->folder_id = $ folder2 ->id ;
48+ $ folder3 ->save ();
49+ $ folder4 = new Folder ();
50+ $ folder4 ->name = 'test4 ' ;
51+ $ folder4 ->folder_id = $ folder ->id ;
52+ $ folder4 ->save ();
53+ $ removeFolderService = new RemoveFolderService ();
54+ $ this ->assertDatabaseHas ('folder ' ,['name ' => 'test1 ' ]);
55+ $ this ->assertDatabaseHas ('folder ' ,['name ' => 'test2 ' ]);
56+ $ this ->assertDatabaseHas ('folder ' ,['name ' => 'test3 ' ]);
57+ $ this ->assertDatabaseHas ('folder ' ,['name ' => 'test4 ' ]);
58+ $ removeFolderService ->folderDelete ($ folder2 ->id , null );
59+ $ this ->assertDatabaseHas ('folder ' ,['name ' => 'test1 ' ]);
60+ $ this ->assertDatabaseMissing ('folder ' ,[ 'name ' => 'test2 ' ]);
61+ $ this ->assertDatabaseMissing ('folder ' ,[ 'name ' => 'test3 ' ]);
62+ $ this ->assertDatabaseHas ('folder ' ,['name ' => 'test4 ' ]);
63+ }
64+ }
0 commit comments