summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2017-12-08 23:58:17 +0100
committerGitHub <noreply@github.com>2017-12-08 23:58:17 +0100
commited7beb929e21e8663f16b4cb8ffaf12aecb6313a (patch)
treec58f5556445c09a72dfbf72181833380fb378d2a /tests
parent79ed0d105dc3e5b8fde5e4d8a1ae0f183834349e (diff)
parent66f523e13ff98aef8cdca9f449df7353dcf60da7 (diff)
downloadnextcloud-server-ed7beb929e21e8663f16b4cb8ffaf12aecb6313a.tar.gz
nextcloud-server-ed7beb929e21e8663f16b4cb8ffaf12aecb6313a.zip
Merge pull request #6876 from nextcloud/always_img_avatar
Always generate avatar
Diffstat (limited to 'tests')
-rw-r--r--tests/Core/Controller/AvatarControllerTest.php8
-rw-r--r--tests/lib/AvatarTest.php44
2 files changed, 39 insertions, 13 deletions
diff --git a/tests/Core/Controller/AvatarControllerTest.php b/tests/Core/Controller/AvatarControllerTest.php
index de568438022..3194d671908 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 cea3f9bed1a..240aecc115e 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())