diff --git a/tests/Core/Controller/AvatarControllerTest.php b/tests/Core/Controller/AvatarControllerTest.php index de56843802..3194d67190 100644 --- a/tests/Core/Controller/AvatarControllerTest.php +++ b/tests/Core/Controller/AvatarControllerTest.php @@ -134,9 +134,7 @@ class AvatarControllerTest extends \Test\TestCase { $response = $this->avatarController->getAvatar('userId', 32); //Comment out until JS is fixed - //$this->assertEquals(Http::STATUS_NOT_FOUND, $response->getStatus()); - $this->assertEquals(Http::STATUS_OK, $response->getStatus()); - $this->assertEquals('displayName', $response->getData()['data']['displayname']); + $this->assertEquals(Http::STATUS_NOT_FOUND, $response->getStatus()); } /** @@ -167,9 +165,7 @@ class AvatarControllerTest extends \Test\TestCase { $response = $this->avatarController->getAvatar('userDoesNotExist', 32); //Comment out until JS is fixed - //$this->assertEquals(Http::STATUS_NOT_FOUND, $response->getStatus()); - $this->assertEquals(Http::STATUS_OK, $response->getStatus()); - $this->assertEquals('userDoesNotExist', $response->getData()['data']['displayname']); + $this->assertEquals(Http::STATUS_NOT_FOUND, $response->getStatus()); } /** diff --git a/tests/lib/AvatarTest.php b/tests/lib/AvatarTest.php index cea3f9bed1..240aecc115 100644 --- a/tests/lib/AvatarTest.php +++ b/tests/lib/AvatarTest.php @@ -12,6 +12,8 @@ use OC\Files\SimpleFS\SimpleFolder; use OC\User\User; use OCP\Files\File; use OCP\Files\Folder; +use OCP\Files\NotFoundException; +use OCP\Files\SimpleFS\ISimpleFile; use OCP\IConfig; use OCP\IL10N; use OCP\ILogger; @@ -49,7 +51,35 @@ class AvatarTest extends \Test\TestCase { } public function testGetNoAvatar() { - $this->assertEquals(false, $this->avatar->get()); + $file = $this->createMock(ISimpleFile::class); + $this->folder->method('newFile') + ->willReturn($file); + + $this->folder->method('getFile') + ->will($this->returnCallback(function($path) { + if ($path === 'avatar.64.png') { + throw new NotFoundException(); + } + })); + $this->folder->method('fileExists') + ->will($this->returnCallback(function($path) { + if ($path === 'generated') { + return true; + } + return false; + })); + + $data = NULL; + $file->method('putContent') + ->with($this->callback(function ($d) use (&$data) { + $data = $d; + return true; + })); + + $file->method('getContent') + ->willReturn($data); + + $this->assertEquals($data, $this->avatar->get()->data()); } public function testGetAvatarSizeMatch() { @@ -161,13 +191,13 @@ class AvatarTest extends \Test\TestCase { ->willReturn('avatar.32.jpg'); $resizedAvatarFile->expects($this->once())->method('delete'); - $nonAvatarFile = $this->createMock(File::class); - $nonAvatarFile->method('getName') - ->willReturn('avatarX'); - $nonAvatarFile->expects($this->never())->method('delete'); - $this->folder->method('getDirectoryListing') - ->willReturn([$avatarFileJPG, $avatarFilePNG, $resizedAvatarFile, $nonAvatarFile]); + ->willReturn([$avatarFileJPG, $avatarFilePNG, $resizedAvatarFile]); + + $generated = $this->createMock(File::class); + $this->folder->method('getFile') + ->with('generated') + ->willReturn($generated); $newFile = $this->createMock(File::class); $this->folder->expects($this->once())