public function testFileTooBig() { $this->viewMock->expects($this->any())->method('filesize')->willReturn(4194304 + 1); $result = $this->controller->load('/', 'foo.bar'); $data = $result->getData(); $status = $result->getStatus(); $this->assertSame(400, $status); $this->assertArrayHasKey('message', $data); $this->assertSame('This file is too big to be opened. Please download the file instead.', $data['message']); }
/** * @dataProvider dataTestSave * * @param $path * @param $filecontents * @param $mtime * @param $filemtime * @param $isUpdatable * @param $expectedStatus * @param $expectedMessage */ public function testSave($path, $filecontents, $mtime, $filemtime, $isUpdatable, $expectedStatus, $expectedMessage) { $this->viewMock->expects($this->any())->method('filemtime')->willReturn($filemtime); $this->viewMock->expects($this->any())->method('isUpdatable')->willReturn($isUpdatable); if ($expectedStatus === 200) { $this->viewMock->expects($this->once())->method('file_put_contents')->with($path, $filecontents); } else { $this->viewMock->expects($this->never())->method('file_put_contents'); } $result = $this->controller->save($path, $filecontents, $mtime); $status = $result->getStatus(); $data = $result->getData(); $this->assertSame($expectedStatus, $status); if ($status === 200) { $this->assertArrayHasKey('mtime', $data); $this->assertArrayHasKey('size', $data); } else { $this->assertArrayHasKey('message', $data); $this->assertSame($expectedMessage, $data['message']); } }