Source of file DefaultDeSerializerTest.php
Size: 2,332 Bytes - Last Modified: 2021-12-24T06:41:16+00:00
/var/www/docs.ssmods.com/process/src/tests/Serializers/DefaultDeSerializerTest.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | <?php namespace Colymba\RESTfulAPI\Tests\Serializers; use Colymba\RESTfulAPI\Serializers\DefaultDeSerializer; use SilverStripe\Core\Injector\Injector; use Colymba\RESTfulAPI\Tests\Fixtures\ApiTestAuthor; use Colymba\RESTfulAPI\Tests\Fixtures\ApiTestBook; use Colymba\RESTfulAPI\Tests\Fixtures\ApiTestLibrary; use Colymba\RESTfulAPI\Tests\RESTfulAPITester; /** * Default DeSerializer Test suite * * @author Thierry Francois @colymba thierry@colymba.com * @copyright Copyright (c) 2013, Thierry Francois * * @license http://opensource.org/licenses/BSD-3-Clause BSD Simplified * * @package RESTfulAPI * @subpackage Tests */ class DefaultDeSerializerTest extends RESTfulAPITester { protected static $extra_dataobjects = array( ApiTestAuthor::class, ApiTestBook::class, ApiTestLibrary::class, ); protected function getDeSerializer() { $injector = new Injector(); $deserializer = new DefaultDeSerializer(); $injector->inject($deserializer); return $deserializer; } /* ********************************************************** * TESTS * */ /** * Checks payload deserialization */ public function testDeserialize() { $deserializer = $this->getDeSerializer(); $json = json_encode(array('Name' => 'Some name')); $result = $deserializer->deserialize($json); $this->assertTrue( is_array($result), "Default DeSerialize should return an array" ); $this->assertEquals( "Some name", $result['Name'], "Default DeSerialize should not change values" ); } /** * Checks payload column/class names unformatting */ public function testUnformatName() { $deserializer = $this->getDeSerializer(); $column = 'Name'; $class = 'Colymba\RESTfulAPI\Tests\Fixtures\ApiTestAuthor'; $this->assertEquals( $column, $deserializer->unformatName($column), "Default DeSerialize should not change name formatting" ); $this->assertEquals( ApiTestAuthor::class, $deserializer->unformatName($class), "Default DeSerialize should return ucfirst class name" ); } } |