protected function FileUploadHalJsonTestBase::getExpectedNormalizedEntity in Drupal 9
Same name and namespace in other branches
- 8 core/modules/file/tests/src/Functional/Hal/FileUploadHalJsonTestBase.php \Drupal\Tests\file\Functional\Hal\FileUploadHalJsonTestBase::getExpectedNormalizedEntity()
Gets the expected file entity.
Parameters
int $fid: The file ID to load and create normalized data for.
string $expected_filename: The expected filename for the stored file.
bool $expected_as_filename: Whether the expected filename should be the filename property too.
Return value
array The expected normalized data array.
Overrides FileUploadResourceTestBase::getExpectedNormalizedEntity
File
- core/
modules/ file/ tests/ src/ Functional/ Hal/ FileUploadHalJsonTestBase.php, line 33
Class
- FileUploadHalJsonTestBase
- Tests binary data file upload route for HAL JSON.
Namespace
Drupal\Tests\file\Functional\HalCode
protected function getExpectedNormalizedEntity($fid = 1, $expected_filename = 'example.txt', $expected_as_filename = FALSE) {
$normalization = parent::getExpectedNormalizedEntity($fid, $expected_filename, $expected_as_filename);
// Cannot use applyHalFieldNormalization() as it uses the $entity property
// from the test class, which in the case of file upload tests, is the
// parent entity test entity for the file that's created.
// The HAL normalization adds entity reference fields to '_links' and
// '_embedded'.
unset($normalization['uid']);
return $normalization + [
'_links' => [
'self' => [
// @todo This can use a proper link once
// https://www.drupal.org/project/drupal/issues/2907402 is complete.
// This link matches what is generated from File::url(), a resource
// URL is currently not available.
'href' => \Drupal::service('file_url_generator')
->generateAbsoluteString($normalization['uri'][0]['value']),
],
'type' => [
'href' => $this->baseUrl . '/rest/type/file/file',
],
$this->baseUrl . '/rest/relation/file/file/uid' => [
[
'href' => $this->baseUrl . '/user/' . $this->account
->id() . '?_format=hal_json',
],
],
],
'_embedded' => [
$this->baseUrl . '/rest/relation/file/file/uid' => [
[
'_links' => [
'self' => [
'href' => $this->baseUrl . '/user/' . $this->account
->id() . '?_format=hal_json',
],
'type' => [
'href' => $this->baseUrl . '/rest/type/user/user',
],
],
'uuid' => [
[
'value' => $this->account
->uuid(),
],
],
],
],
],
];
}