Source of file DMSDocumentControllerTest.php
Size: 1,928 Bytes - Last Modified: 2021-12-23T10:29:25+00:00
/var/www/docs.ssmods.com/process/src/tests/DMSDocumentControllerTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?php /** * Class DMSDocumentControllerTest */ class DMSDocumentControllerTest extends SapphireTest { protected static $fixture_file = 'dmstest.yml'; /** * @var DMSDocument_Controller */ protected $controller; public function setUp() { parent::setUp(); Config::inst()->update('DMS', 'folder_name', 'assets/_unit-test-123'); $this->logInWithPermission('ADMIN'); $this->controller = $this->getMockBuilder('DMSDocument_Controller') ->setMethods(array('sendFile')) ->getMock(); } public function tearDown() { DMSFilesystemTestHelper::delete('assets/_unit-test-123'); parent::tearDown(); } /** * Test that the download behaviour is either "open" or "download" * * @param string $behaviour * @param string $expectedDisposition * @dataProvider behaviourProvider */ public function testDownloadBehaviourOpen($behaviour, $expectedDisposition) { $self = $this; $this->controller->expects($this->once()) ->method('sendFile') ->will( $this->returnCallback(function ($path, $mime, $name, $disposition) use ($self, $expectedDisposition) { $self->assertEquals($expectedDisposition, $disposition); }) ); $openDoc = DMS::inst()->storeDocument('dms/tests/DMS-test-lorum-file.pdf'); $openDoc->DownloadBehavior = $behaviour; $openDoc->clearEmbargo(false); $openDoc->write(); $request = new SS_HTTPRequest('GET', $openDoc->Link()); $request->match('dmsdocument/$ID'); $this->controller->index($request); } /** * @return array[] */ public function behaviourProvider() { return array( array('open', 'inline'), array('download', 'attachment') ); } } |