partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

commit c1483688a5c54c9aa813a5b5af4afd313d8e29c4
parent 06548535750d8c6c33693b355bbd1e19ac37d36d
Author: Felicitus <felicitus@felicitus.org>
Date:   Sun, 13 Sep 2015 13:49:59 +0200

Fixed webcam upload action, added unit test

Diffstat:
Msrc/PartKeepr/UploadedFileBundle/Controller/TemporaryFileController.php | 5++---
Asrc/PartKeepr/UploadedFileBundle/Tests/WebcamUploadTest.php | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 62 insertions(+), 3 deletions(-)

diff --git a/src/PartKeepr/UploadedFileBundle/Controller/TemporaryFileController.php b/src/PartKeepr/UploadedFileBundle/Controller/TemporaryFileController.php @@ -69,6 +69,7 @@ class TemporaryFileController extends FileController * Uploads a webcam image * * @param Request $request The request to process + * * @return Response */ public function webcamUploadAction(Request $request) @@ -85,9 +86,7 @@ class TemporaryFileController extends FileController $this->getDoctrine()->getManager()->persist($file); $this->getDoctrine()->getManager()->flush(); - $resource = $this->getResource($request); - - return $this->getSuccessResponse($resource, $file, 201); + return $file; } /** diff --git a/src/PartKeepr/UploadedFileBundle/Tests/WebcamUploadTest.php b/src/PartKeepr/UploadedFileBundle/Tests/WebcamUploadTest.php @@ -0,0 +1,59 @@ +<?php +namespace PartKeepr\UploadedFileBundle\Tests; + +use Liip\FunctionalTestBundle\Test\WebTestCase; + +class WebcamUploadTest extends WebTestCase +{ + public function testWebcamUploadAction() + { + $client = static::createClient(); + + $file = __DIR__."/Fixtures/files/uploadtest.png"; + $mimeType = "image/png"; + $extension = "png"; + + $contents = file_get_contents($file); + + $fileString = "data:image/png;base64,".base64_encode($contents); + + $client->request( + 'POST', + '/api/temp_uploaded_files/webcamUpload', + array(), + array(), + array(), + $fileString + ); + + $response = json_decode($client->getResponse()->getContent()); + + $propertiesToCheck = array( + "@context", + "@id", + "@type", + "originalFilename", + "size", + "type", + "filename", + "mimeType", + "extension", + "description", + "legacyExtension", + ); + + foreach ($propertiesToCheck as $property) { + $this->assertObjectHasAttribute($property, $response); + } + + $this->assertEquals(filesize($file), $response->size); + $this->assertEquals($mimeType, $response->mimeType); + $this->assertEquals("webcam.png", $response->originalFilename); + $this->assertEquals($extension, $response->extension); + $this->assertEquals("tempfile", $response->type); + + $property = "@type"; + $this->assertEquals("TempUploadedFile", $response->$property); + } + +}+ \ No newline at end of file