]> BookStack Code Mirror - bookstack/blobdiff - tests/Uploads/AvatarTest.php
Extracted test file handling to its own class
[bookstack] / tests / Uploads / AvatarTest.php
index d10b5cfc6cb79f50556df9892a94edc97c5c0d82..57f28db429238e203ca8416a65ea8dd03a15b9b8 100644 (file)
@@ -9,18 +9,16 @@ use Tests\TestCase;
 
 class AvatarTest extends TestCase
 {
-    use UsesImages;
-
-    protected function createUserRequest($user)
+    protected function createUserRequest($user): User
     {
         $this->asAdmin()->post('/settings/users/create', [
             'name'             => $user->name,
             'email'            => $user->email,
-            'password'         => 'testing',
-            'password-confirm' => 'testing',
+            'password'         => 'testing101',
+            'password-confirm' => 'testing101',
         ]);
 
-        return User::where('email', '=', $user->email)->first();
+        return User::query()->where('email', '=', $user->email)->first();
     }
 
     protected function assertImageFetchFrom(string $url)
@@ -29,12 +27,12 @@ class AvatarTest extends TestCase
 
         $http->shouldReceive('fetch')
             ->once()->with($url)
-            ->andReturn($this->getTestImageContent());
+            ->andReturn($this->files->pngImageData());
     }
 
     protected function deleteUserImage(User $user)
     {
-        $this->deleteImage($user->avatar->path);
+        $this->files->deleteAtRelativePath($user->avatar->path);
     }
 
     public function test_gravatar_fetched_on_user_create()
@@ -82,6 +80,21 @@ class AvatarTest extends TestCase
         $this->createUserRequest($user);
     }
 
+    public function test_avatar_not_fetched_if_avatar_url_option_set_to_false()
+    {
+        config()->set([
+            'services.disable_services' => false,
+            'services.avatar_url'       => false,
+        ]);
+
+        $user = User::factory()->make();
+
+        $http = $this->mock(HttpFetcher::class);
+        $http->shouldNotReceive('fetch');
+
+        $this->createUserRequest($user);
+    }
+
     public function test_no_failure_but_error_logged_on_failed_avatar_fetch()
     {
         config()->set([