summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulius Haertl <jus@bitgrid.net>2017-02-16 15:13:19 +0100
committerJulius Haertl <jus@bitgrid.net>2017-02-20 15:48:22 +0100
commite5ddb40a3ec32bc175f44ff613352a3569606746 (patch)
treea8299a5783b42c4a2c374072a0e7bb6fe26bd96e
parent3f0134622dafe01d1bed2c7d25d14da425e35fc4 (diff)
downloadnextcloud-server-e5ddb40a3ec32bc175f44ff613352a3569606746.tar.gz
nextcloud-server-e5ddb40a3ec32bc175f44ff613352a3569606746.zip
Add test for creating AppData folder
Signed-off-by: Julius Haertl <jus@bitgrid.net>
-rw-r--r--apps/theming/tests/Controller/ThemingControllerTest.php60
1 files changed, 47 insertions, 13 deletions
diff --git a/apps/theming/tests/Controller/ThemingControllerTest.php b/apps/theming/tests/Controller/ThemingControllerTest.php
index 38cd8c96202..3afcdb847b6 100644
--- a/apps/theming/tests/Controller/ThemingControllerTest.php
+++ b/apps/theming/tests/Controller/ThemingControllerTest.php
@@ -171,7 +171,15 @@ class ThemingControllerTest extends TestCase {
$this->assertEquals($expected, $this->themingController->updateLogo());
}
- public function testUpdateLogoNormalLogoUpload() {
+ public function dataUpdateImages() {
+ return [
+ [false],
+ [true]
+ ];
+ }
+
+ /** @dataProvider dataUpdateImages */
+ public function testUpdateLogoNormalLogoUpload($folderExists) {
$tmpLogo = \OC::$server->getTempManager()->getTemporaryFolder() . '/logo.svg';
$destination = \OC::$server->getTempManager()->getTemporaryFolder();
@@ -199,16 +207,28 @@ class ThemingControllerTest extends TestCase {
$file = $this->createMock(ISimpleFile::class);
$folder = $this->createMock(ISimpleFolder::class);
- $this->appData
- ->expects($this->once())
- ->method('getFolder')
- ->with('images')
- ->willReturn($folder);
+ if($folderExists) {
+ $this->appData
+ ->expects($this->once())
+ ->method('getFolder')
+ ->with('images')
+ ->willReturn($folder);
+ } else {
+ $this->appData
+ ->expects($this->at(0))
+ ->method('getFolder')
+ ->with('images')
+ ->willThrowException(new NotFoundException());
+ $this->appData
+ ->expects($this->at(1))
+ ->method('newFolder')
+ ->with('images')
+ ->willReturn($folder);
+ }
$folder->expects($this->once())
->method('newFile')
->with('logo')
->willReturn($file);
-
$expected = new DataResponse(
[
'data' =>
@@ -223,7 +243,8 @@ class ThemingControllerTest extends TestCase {
$this->assertEquals($expected, $this->themingController->updateLogo());
}
- public function testUpdateLogoLoginScreenUpload() {
+ /** @dataProvider dataUpdateImages */
+ public function testUpdateLogoLoginScreenUpload($folderExists) {
$tmpLogo = \OC::$server->getTempManager()->getTemporaryFolder() . '/logo.svg';
touch($tmpLogo);
@@ -250,11 +271,24 @@ class ThemingControllerTest extends TestCase {
$file = $this->createMock(ISimpleFile::class);
$folder = $this->createMock(ISimpleFolder::class);
- $this->appData
- ->expects($this->once())
- ->method('getFolder')
- ->with('images')
- ->willReturn($folder);
+ if($folderExists) {
+ $this->appData
+ ->expects($this->once())
+ ->method('getFolder')
+ ->with('images')
+ ->willReturn($folder);
+ } else {
+ $this->appData
+ ->expects($this->at(0))
+ ->method('getFolder')
+ ->with('images')
+ ->willThrowException(new NotFoundException());
+ $this->appData
+ ->expects($this->at(1))
+ ->method('newFolder')
+ ->with('images')
+ ->willReturn($folder);
+ }
$folder->expects($this->once())
->method('newFile')
->with('background')