partkeepr

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

ImageControllerTest.php (1680B)


      1 <?php
      2 
      3 namespace PartKeepr\ImageBundle\Tests;
      4 
      5 use PartKeepr\CoreBundle\Tests\WebTestCase;
      6 use Symfony\Component\HttpFoundation\File\UploadedFile;
      7 
      8 class ImageControllerTest extends WebTestCase
      9 {
     10     public function testGetImage()
     11     {
     12         $client = static::makeClient(true);
     13 
     14         $file = __DIR__.'/Fixtures/files/uploadtest.png';
     15         $originalFilename = 'uploadtest.png';
     16         $mimeType = 'image/png';
     17 
     18         $image = new UploadedFile(
     19             $file,
     20             $originalFilename,
     21             $mimeType,
     22             filesize($file)
     23         );
     24 
     25         $client->request(
     26             'POST',
     27             '/api/temp_images/upload',
     28             [],
     29             ['userfile' => $image]
     30         );
     31 
     32         $response = json_decode($client->getResponse()->getContent());
     33 
     34         $property = '@id';
     35         $imageId = $response->image->$property;
     36         $uri = $imageId.'/getImage';
     37 
     38         $client->request(
     39             'GET',
     40             $uri
     41         );
     42 
     43         $this->assertEquals('image/png', $client->getResponse()->headers->get('Content-Type'));
     44 
     45         $imageSize = getimagesizefromstring($client->getResponse()->getContent());
     46 
     47         $this->assertEquals(51, $imageSize[0]);
     48         $this->assertEquals(23, $imageSize[1]);
     49 
     50         $iriConverter = $this->getContainer()->get('api.iri_converter');
     51 
     52         $image = $iriConverter->getItemFromIri($imageId);
     53 
     54         /*
     55          * @var $image TempImage
     56          */
     57 
     58         $this->getContainer()->get('partkeepr_image_service')->delete($image);
     59 
     60         $client->request(
     61             'GET',
     62             $uri
     63         );
     64 
     65         $this->assertEquals(404, $client->getResponse()->getStatusCode());
     66     }
     67 }