‪TYPO3CMS  10.4
EnableFieldsTest.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the TYPO3 CMS project.
5  *
6  * It is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU General Public License, either version 2
8  * of the License, or any later version.
9  *
10  * For the full copyright and license information, please read the
11  * LICENSE.txt file that was distributed with this source code.
12  *
13  * The TYPO3 project - inspiring people to share!
14  */
15 
17 
19 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
20 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequestContext;
21 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\ResponseContent;
22 
27 {
28  const ‪TABLE_Blog = 'tx_blogexample_domain_model_blog';
29 
33  protected ‪$testExtensionsToLoad = ['typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example'];
34 
38  protected ‪$coreExtensionsToLoad = ['core', 'extbase', 'fluid'];
39 
43  protected ‪$assertCleanReferenceIndex = false;
44 
48  protected function ‪setUp(): void
49  {
50  parent::setUp();
51 
52  $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
53  $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/fe_groups.xml');
54  $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/fe_users.xml');
55  $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/blogs-with-fe_groups.xml');
56 
57  $this->‪setUpFrontendSite(1);
58  $this->setUpFrontendRootPage(1, ['typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/Frontend/JsonRenderer.typoscript']);
59  }
60 
65  {
66  $response = $this->executeFrontendRequest((new InternalRequest())->withPageId(1));
67  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections('Extbase:list()');
68  self::assertThat($responseSections, $this->‪getRequestSectionHasRecordConstraint()
69  ->setTable(self::TABLE_Blog)->setField('title')->setValues('Blog1'));
70  }
71 
76  {
77  $response = $this->executeFrontendRequest((new InternalRequest())->withPageId(1), (new InternalRequestContext())->withFrontendUserId(1));
78  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections('Extbase:list()');
79  self::assertThat($responseSections, $this->‪getRequestSectionHasRecordConstraint()
80  ->setTable(self::TABLE_Blog)->setField('title')->setValues('Blog1', 'Blog2'));
81  }
82 
87  {
88  $response = $this->executeFrontendRequest((new InternalRequest())->withPageId(1), (new InternalRequestContext())->withFrontendUserId(2));
89  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections('Extbase:list()');
90  self::assertThat($responseSections, $this->‪getRequestSectionHasRecordConstraint()
91  ->setTable(self::TABLE_Blog)->setField('title')->setValues('Blog1', 'Blog3'));
92  }
93 
98  {
99  // first request to fill the query cache
100  $response = $this->executeFrontendRequest((new InternalRequest())->withPageId(1), (new InternalRequestContext())->withFrontendUserId(1));
101  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections('Extbase:list()');
102  self::assertThat($responseSections, $this->‪getRequestSectionHasRecordConstraint()
103  ->setTable(self::TABLE_Blog)->setField('title')->setValues('Blog1', 'Blog2'));
104 
105  // second request with other frontenduser
106  $response = $this->executeFrontendRequest((new InternalRequest())->withPageId(1), (new InternalRequestContext())->withFrontendUserId(2));
107  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections('Extbase:list()');
108  self::assertThat($responseSections, $this->‪getRequestSectionHasRecordConstraint()
109  ->setTable(self::TABLE_Blog)->setField('title')->setValues('Blog1', 'Blog3'));
110  }
111 }
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest\TABLE_Blog
‪const TABLE_Blog
Definition: EnableFieldsTest.php:28
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase\setUpFrontendSite
‪setUpFrontendSite(int $pageId, array $additionalLanguages=[])
Definition: AbstractDataHandlerActionTestCase.php:143
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase\getRequestSectionHasRecordConstraint
‪HasRecordConstraint getRequestSectionHasRecordConstraint()
Definition: AbstractDataHandlerActionTestCase.php:289
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest\onlyReturnProtectedRecordsForTheSecondUserGroup
‪onlyReturnProtectedRecordsForTheSecondUserGroup()
Definition: EnableFieldsTest.php:83
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest\onlyReturnProtectedRecordsForTheFirstUserGroup
‪onlyReturnProtectedRecordsForTheFirstUserGroup()
Definition: EnableFieldsTest.php:72
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest\setUp
‪setUp()
Definition: EnableFieldsTest.php:45
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase
Definition: AbstractDataHandlerActionTestCase.php:37
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest\$assertCleanReferenceIndex
‪bool $assertCleanReferenceIndex
Definition: EnableFieldsTest.php:40
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest\protectedRecordsNotFoundIfNoUserLoggedIn
‪protectedRecordsNotFoundIfNoUserLoggedIn()
Definition: EnableFieldsTest.php:61
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest
Definition: EnableFieldsTest.php:27
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence
Definition: AddTest.php:16
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest\$testExtensionsToLoad
‪array $testExtensionsToLoad
Definition: EnableFieldsTest.php:32
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest\onlyOwnProtectedRecordsWithQueryCacheInvolvedAreReturned
‪onlyOwnProtectedRecordsWithQueryCacheInvolvedAreReturned()
Definition: EnableFieldsTest.php:94
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\EnableFieldsTest\$coreExtensionsToLoad
‪array $coreExtensionsToLoad
Definition: EnableFieldsTest.php:36