22 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
40 $GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'encryptionKey'] =
'12345';
48 $sessionToken =
'123';
51 'prototypeName' =>
'standard',
52 'identifier' =>
'test',
63 '_orig_prototypeName' => [
64 'value' =>
'standard',
65 'hmac' => GeneralUtility::hmac(serialize([
'test',
'prototypeName',
'standard']), $sessionToken),
67 '_orig_identifier' => [
69 'hmac' => GeneralUtility::hmac(serialize([
'test',
'identifier',
'test']), $sessionToken),
73 $typeConverter = $this->getAccessibleMock(FormDefinitionArrayConverter::class, [
'getFormDefinitionValidationService',
'retrieveSessionToken'], [],
'',
false);
74 $formDefinitionValidationService = $this->getAccessibleMock(FormDefinitionValidationService::class, [
'validateFormDefinitionProperties'], [],
'',
false);
75 $formDefinitionValidationService->expects($this->any())->method(
76 'validateFormDefinitionProperties'
79 $typeConverter->expects($this->any())->method(
80 'retrieveSessionToken'
81 )->willReturn($sessionToken);
83 $typeConverter->expects($this->any())->method(
84 'getFormDefinitionValidationService'
85 )->willReturn($formDefinitionValidationService);
87 $input = json_encode($data);
89 'prototypeName' =>
'standard',
90 'identifier' =>
'test',
99 $result = $typeConverter->convertFrom($input, FormDefinitionArray::class);
101 $this->assertInstanceOf(FormDefinitionArray::class, $result);
102 $this->assertSame($expected, $result->getArrayCopy());
110 $this->expectException(PropertyException::class);
111 $this->expectExceptionCode(1512578002);
114 $input =
'{"francine":"stan",';
116 $typeConverter->convertFrom($input, FormDefinitionArray::class);
124 $typeConverter = $this->getAccessibleMock(FormDefinitionArrayConverter::class, [
'dummy'], [],
'',
false);
164 $this->assertSame($expected, $typeConverter->_call(
'transformMultiValueElementsForFormFramework', $input));
172 $this->expectException(PropertyException::class);
173 $this->expectExceptionCode(1528538322);
175 $sessionToken =
'123';
176 $typeConverter = $this->getAccessibleMock(FormDefinitionArrayConverter::class, [
'retrieveSessionToken'], [],
'',
false);
178 $typeConverter->expects($this->any())->method(
179 'retrieveSessionToken'
180 )->willReturn($sessionToken);
183 'prototypeName' =>
'foo',
184 'identifier' =>
'test',
185 '_orig_prototypeName' => [
186 'value' =>
'standard',
187 'hmac' => GeneralUtility::hmac(serialize([
'test',
'prototypeName',
'standard']), $sessionToken),
189 '_orig_identifier' => [
191 'hmac' => GeneralUtility::hmac(serialize([
'test',
'identifier',
'test']), $sessionToken),
195 $typeConverter->convertFrom(json_encode($input), FormDefinitionArray::class);
203 $this->expectException(PropertyException::class);
204 $this->expectExceptionCode(1528538322);
206 $sessionToken =
'123';
207 $typeConverter = $this->getAccessibleMock(FormDefinitionArrayConverter::class, [
'retrieveSessionToken'], [],
'',
false);
209 $typeConverter->expects($this->any())->method(
210 'retrieveSessionToken'
211 )->willReturn($sessionToken);
214 'prototypeName' =>
'standard',
215 'identifier' =>
'xxx',
216 '_orig_prototypeName' => [
217 'value' =>
'standard',
218 'hmac' => GeneralUtility::hmac(serialize([
'test',
'prototypeName',
'standard']), $sessionToken),
220 '_orig_identifier' => [
222 'hmac' => GeneralUtility::hmac(serialize([
'test',
'prototypeName',
'test']), $sessionToken),
226 $typeConverter->convertFrom(json_encode($input), FormDefinitionArray::class);