@@ -38,15 +38,6 @@ protected function setUp(): void
3838 }
3939 }
4040
41- public function testList (): void
42- {
43- $ this ->client ->request (Request::METHOD_GET , '/admin?routeName=joli_media_easy_admin_explore ' );
44- $ this ->assertResponseIsSuccessful ();
45-
46- $ this ->assertSelectorExists ('a[data-component="media-add"] ' );
47- $ this ->assertSelectorCount (5 , '.gallery-grid-item ' );
48- }
49-
5041 public function testDelete (): void
5142 {
5243 // MediaDeleteBehavior::RESTRICT
@@ -145,6 +136,37 @@ public function testUploadAtRoot(): void
145136 $ this ->assertSame ('/media/cache/joli-media-easy-admin/circle-pattern.png ' , $ response ['files ' ][0 ]['thumbnailUrl ' ]);
146137 }
147138
139+ public function testViewMode (): void
140+ {
141+ // test switching view mode between grid and list
142+ $ this ->client ->followRedirects ();
143+ $ crawler = $ this ->client ->request (Request::METHOD_GET , '/admin?routeName=joli_media_easy_admin_explore ' );
144+
145+ $ gridViewLink = $ crawler ->selectLink ('Grid view ' );
146+ $ this ->assertStringContainsString ('active ' , (string ) $ gridViewLink ->attr ('class ' )); // grid is default
147+ $ this ->assertSelectorCount (5 , '.gallery-grid-item ' );
148+ $ this ->assertSelectorNotExists ('.gallery-list-item ' );
149+
150+ $ listViewLink = $ crawler ->selectLink ('List view ' );
151+ $ this ->assertStringNotContainsString ('active ' , (string ) $ listViewLink ->attr ('class ' ));
152+
153+ $ crawler = $ this ->client ->click ($ listViewLink ->link ());
154+
155+ $ listViewLink = $ crawler ->selectLink ('List view ' );
156+ $ this ->assertStringContainsString ('active ' , (string ) $ listViewLink ->attr ('class ' ));
157+ $ this ->assertSelectorNotExists ('.gallery-grid-item ' );
158+ $ this ->assertSelectorCount (5 , '.gallery-list-item ' );
159+
160+ $ gridViewLink = $ crawler ->selectLink ('Grid view ' );
161+ $ this ->assertStringNotContainsString ('active ' , (string ) $ gridViewLink ->attr ('class ' ));
162+
163+ $ crawler = $ this ->client ->click ($ gridViewLink ->link ()); // back to grid
164+
165+ $ this ->assertStringContainsString ('active ' , (string ) $ crawler ->selectLink ('Grid view ' )->attr ('class ' ));
166+ $ this ->assertSelectorCount (5 , '.gallery-grid-item ' );
167+ $ this ->assertSelectorNotExists ('.gallery-list-item ' );
168+ }
169+
148170 protected static function getKernelClass (): string
149171 {
150172 return Kernel::class;
0 commit comments