eZ\Publish\Core\REST\Server\Tests\Input\Parser\PolicyCreateTest::testParse PHP Method

testParse() public method

Tests the PolicyCreate parser.
public testParse ( )
    public function testParse()
    {
        $inputArray = array('module' => 'content', 'function' => 'delete', 'limitations' => array('limitation' => array(array('_identifier' => 'Class', 'values' => array('ref' => array(array('_href' => 1), array('_href' => 2), array('_href' => 3)))))));
        $policyCreate = $this->getParser();
        $result = $policyCreate->parse($inputArray, $this->getParsingDispatcherMock());
        $this->assertInstanceOf('\\eZ\\Publish\\API\\Repository\\Values\\User\\PolicyCreateStruct', $result, 'PolicyCreateStruct not created correctly.');
        $this->assertEquals('content', $result->module, 'PolicyCreateStruct module property not created correctly.');
        $this->assertEquals('delete', $result->function, 'PolicyCreateStruct function property not created correctly.');
        $parsedLimitations = $result->getLimitations();
        $this->assertInternalType('array', $parsedLimitations, 'PolicyCreateStruct limitations not created correctly');
        $this->assertCount(1, $parsedLimitations, 'PolicyCreateStruct limitations not created correctly');
        $this->assertInstanceOf('\\eZ\\Publish\\API\\Repository\\Values\\User\\Limitation', $parsedLimitations['Class'], 'Limitation not created correctly.');
        $this->assertEquals('Class', $parsedLimitations['Class']->getIdentifier(), 'Limitation identifier not created correctly.');
        $this->assertEquals(array(1, 2, 3), $parsedLimitations['Class']->limitationValues, 'Limitation values not created correctly.');
    }