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:
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