diff options
author | Julius Haertl <jus@bitgrid.net> | 2017-02-16 15:13:19 +0100 |
---|---|---|
committer | Julius Haertl <jus@bitgrid.net> | 2017-02-20 15:48:22 +0100 |
commit | e5ddb40a3ec32bc175f44ff613352a3569606746 (patch) | |
tree | a8299a5783b42c4a2c374072a0e7bb6fe26bd96e | |
parent | 3f0134622dafe01d1bed2c7d25d14da425e35fc4 (diff) | |
download | nextcloud-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.php | 60 |
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') |