From 2db3d309c85748ea30b6906581d5b066d337fb73 Mon Sep 17 00:00:00 2001 From: Oliver Hader <oliver@typo3.org> Date: Thu, 20 Feb 2014 11:20:07 +0100 Subject: [PATCH] [TASK] Integrate IRRE CSV Functional Tests Integrate comma separated value functional tests for Inline Relational Record Editing for both live and workspace context. Resolves: #56143 Releases: 6.2 Change-Id: I8750cabd2e4df41e229ada888a43a104339cc55c Reviewed-on: https://review.typo3.org/27752 Reviewed-by: Wouter Wolters Tested-by: Wouter Wolters Reviewed-by: Oliver Hader Tested-by: Oliver Hader --- .../AbstractActionTestCase.php | 410 ++++++++++++ .../changeParentContentRecordSorting.csv | 24 + .../DataSet/Assertion/copyPageRecord.csv | 47 ++ .../Assertion/copyParentContentRecord.csv | 28 + ...entRecordWithHotelAndOfferChildRecords.csv | 30 + ...entRecordWithHotelAndOfferChildRecords.csv | 29 + .../Assertion/createParentContentRecord.csv | 5 + ...entRecordWithHotelAndOfferChildRecords.csv | 27 + .../DataSet/Assertion/deletePageRecord.csv | 30 + .../Assertion/deleteParentContentRecord.csv | 24 + .../Assertion/localizeParentContentRecord.csv | 26 + .../Assertion/modifyOnlyHotelChildRecord.csv | 24 + .../DataSet/Assertion/modifyPageRecord.csv | 6 + .../Assertion/modifyParentContentRecord.csv | 4 + ...difyParentRecordAndAddHotelChildRecord.csv | 25 + ...ecordAndChangeHotelChildRecordsSorting.csv | 24 + ...yParentRecordAndDeleteHotelChildRecord.csv | 24 + ...modifyParentRecordWithHotelChildRecord.csv | 24 + ...moveParentContentRecordToDifferentPage.csv | 24 + ...tRecordToDifferentPageAndChangeSorting.csv | 24 + .../DataSet/Scenario/LiveDefaultElements.csv | 28 + .../DataSet/Scenario/LiveDefaultPages.csv | 6 + .../CommaSeparatedValue/LiveActionTest.php | 39 ++ .../ExtTables/ext_tables.general.php | 21 +- .../Private/Language/locallang_db.xml | 3 +- .../Extensions/irre_tutorial/ext_tables.sql | 1 + .../Fixtures/Frontend/JsonRenderer.ts | 39 ++ .../AbstractActionTestCase.php | 604 ++++++++++++++++++ .../changeParentContentRecordSorting.csv | 37 ++ .../DataSet/Assertion/copyPageRecord.csv | 50 ++ .../Assertion/copyParentContentRecord.csv | 29 + ...entRecordWithHotelAndOfferChildRecords.csv | 34 + ...ildRecordsAndDiscardCopiedParentRecord.csv | 36 ++ ...entRecordWithHotelAndOfferChildRecords.csv | 34 + ...RecordsAndDiscardLocalizedParentRecord.csv | 34 + .../Assertion/createParentContentRecord.csv | 6 + ...entRecordWithHotelAndOfferChildRecords.csv | 30 + .../DataSet/Assertion/deletePageRecord.csv | 31 + .../Assertion/deleteParentContentRecord.csv | 28 + ...entRecordAndDiscardDeletedParentRecord.csv | 24 + .../Assertion/localizeParentContentRecord.csv | 28 + .../Assertion/modifyOnlyHotelChildRecord.csv | 27 + .../DataSet/Assertion/modifyPageRecord.csv | 31 + .../Assertion/modifyParentContentRecord.csv | 28 + ...difyParentRecordAndAddHotelChildRecord.csv | 30 + ...ecordAndChangeHotelChildRecordsSorting.csv | 36 ++ ...yParentRecordAndDeleteHotelChildRecord.csv | 36 ++ ...modifyParentRecordWithHotelChildRecord.csv | 36 ++ ...hildRecordAndDiscardAllModifiedRecords.csv | 36 ++ ...ldRecordAndDiscardModifiedParentRecord.csv | 36 ++ ...moveParentContentRecordToDifferentPage.csv | 29 + ...tRecordToDifferentPageAndChangeSorting.csv | 42 ++ .../DataSet/Scenario/LiveDefaultElements.csv | 35 + .../DataSet/Scenario/LiveDefaultPages.csv | 6 + .../WorkspaceActionTest.php | 39 ++ 55 files changed, 2446 insertions(+), 2 deletions(-) create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv create mode 100644 typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/LiveActionTest.php create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecordsAndDiscardCopiedParentRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecordsAndDiscardLocalizedParentRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecordAndDiscardDeletedParentRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardAllModifiedRecords.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardModifiedParentRecord.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv create mode 100644 typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/WorkspaceActionTest.php diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php new file mode 100644 index 000000000000..11eff60be1fd --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php @@ -0,0 +1,410 @@ +<?php +namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\InlineRelationalRecordEditing\CommaSeparatedValue; + +/*************************************************************** + * Copyright notice + * + * (c) 2014 Oliver Hader <oliver.hader@typo3.org> + * All rights reserved + * + * This script is part of the TYPO3 project. The TYPO3 project is + * free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * The GNU General Public License can be found at + * http://www.gnu.org/copyleft/gpl.html. + * + * This script is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * This copyright notice MUST APPEAR in all copies of the script! + ***************************************************************/ + +require_once dirname(dirname(dirname(__FILE__))) . '/AbstractDataHandlerActionTestCase.php'; + +/** + * Functional test for the DataHandler + */ +abstract class AbstractActionTestCase extends \TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase { + + const VALUE_PageId = 89; + const VALUE_PageIdTarget = 90; + const VALUE_PageIdWebsite = 1; + const VALUE_ContentIdFirst = 297; + const VALUE_ContentIdLast = 298; + const VALUE_LanguageId = 1; + + const TABLE_Page = 'pages'; + const TABLE_Content = 'tt_content'; + const TABLE_Hotel = 'tx_irretutorial_1ncsv_hotel'; + const TABLE_Offer = 'tx_irretutorial_1ncsv_offer'; + + const FIELD_ContentHotel = 'tx_irretutorial_1ncsv_hotels'; + const FIELD_HotelOffer = 'offers'; + + /** + * @var string + */ + protected $dataSetDirectory = 'typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/'; + + public function setUp() { + parent::setUp(); + $this->importScenarioDataSet('LiveDefaultPages'); + $this->importScenarioDataSet('LiveDefaultElements'); + + $this->setUpFrontendRootPage(1, array('typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts')); + } + + /** + * Parent content records + */ + + /** + * @test + */ + public function createParentContentRecord() { + $this->actionService->createNewRecord(self::TABLE_Content, self::VALUE_PageId, array('header' => 'Testing #1')); + $this->assertAssertionDataSet('createParentContentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1'); + } + + /** + * @test + */ + public function modifyParentContentRecord() { + $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, array('header' => 'Testing #1')); + $this->assertAssertionDataSet('modifyParentContentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1'); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + } + + /** + * @test + */ + public function deleteParentContentRecord() { + $this->actionService->deleteRecord(self::TABLE_Content, self::VALUE_ContentIdLast); + $this->assertAssertionDataSet('deleteParentContentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentDoesNotHaveRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2'); + } + + /** + * @test + */ + public function copyParentContentRecord() { + $newTableIds = $this->actionService->copyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageId); + $this->assertAssertionDataSet('copyParentContentRecord'); + + $newContentId = $newTableIds[self::TABLE_Content][self::VALUE_ContentIdLast]; + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + } + + /** + * @test + */ + public function localizeParentContentRecord() { + $this->actionService->localizeRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId); + $this->assertAssertionDataSet('localizeParentContentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('[Translate to Dansk:] Hotel #1') + ); + } + + /** + * @test + */ + public function changeParentContentRecordSorting() { + $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast); + $this->assertAssertionDataSet('changeParentContentRecordSorting'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2') + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + } + + /** + * @test + */ + public function moveParentContentRecordToDifferentPage() { + $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget); + $this->assertAssertionDataSet('moveParentContentRecordToDifferentPage'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2'); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + } + + /** + * @test + */ + public function moveParentContentRecordToDifferentPageAndChangeSorting() { + $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget); + $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast); + $this->assertAssertionDataSet('moveParentContentRecordToDifferentPageAndChangeSorting'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', array('Regular Element #2', 'Regular Element #1')); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2') + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + } + + /** + * Page records + */ + + /** + * @test + */ + public function modifyPageRecord() { + $this->actionService->modifyRecord(self::TABLE_Page, self::VALUE_PageId, array('title' => 'Testing #1')); + $this->assertAssertionDataSet('modifyPageRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Page, 'title', 'Testing #1'); + } + + /** + * @test + */ + public function deletePageRecord() { + $this->actionService->deleteRecord(self::TABLE_Page, self::VALUE_PageId); + $this->assertAssertionDataSet('deletePageRecord'); + + $response = $this->getFrontendResponse(self::VALUE_PageId, 0, 0, 0, FALSE); + $this->assertContains('PageNotFoundException', $response->getError()); + } + + /** + * @test + */ + public function copyPageRecord() { + $newTableIds = $this->actionService->copyRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_PageIdTarget); + $this->assertAssertionDataSet('copyPageRecord'); + + $newPageId = $newTableIds[self::TABLE_Page][self::VALUE_PageId]; + $responseContent = $this->getFrontendResponse($newPageId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2', 'Hotel #1')); + } + + /** + * IRRE Child Records + */ + + /** + * @test + */ + public function createParentContentRecordWithHotelAndOfferChildRecords() { + $newTableIds = $this->actionService->createNewRecords( + self::VALUE_PageId, + array( + self::TABLE_Offer => array('title' => 'Offer #1'), + self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'), + self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'), + ) + ); + $this->assertAssertionDataSet('createParentContentRecordWithHotelAndOfferChildRecords'); + + $newContentId = $newTableIds[self::TABLE_Content][0]; + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1'); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #1' + ); + } + + /** + * @test + */ + public function createAndCopyParentContentRecordWithHotelAndOfferChildRecords() { + $newTableIds = $this->actionService->createNewRecords( + self::VALUE_PageId, + array( + self::TABLE_Offer => array('title' => 'Offer #1'), + self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'), + self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'), + ) + ); + $newContentId = $newTableIds[self::TABLE_Content][0]; + $newHotelId = $newTableIds[self::TABLE_Hotel][0]; + $copiedTableIds = $this->actionService->copyRecord(self::TABLE_Content, $newContentId, self::VALUE_PageId); + $this->assertAssertionDataSet('createAndCopyParentContentRecordWithHotelAndOfferChildRecords'); + + $copiedContentId = $copiedTableIds[self::TABLE_Content][$newContentId]; + $copiedHotelId = $copiedTableIds[self::TABLE_Hotel][$newHotelId]; + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #1' + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $copiedContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #1' + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Hotel . ':' . $copiedHotelId, self::FIELD_HotelOffer, + self::TABLE_Offer, 'title', 'Offer #1' + ); + } + + /** + * @test + */ + public function createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords() { + // @todo Localizing the new child records is broken in the Core + $newTableIds = $this->actionService->createNewRecords( + self::VALUE_PageId, + array( + self::TABLE_Offer => array('title' => 'Offer #1'), + self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'), + self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'), + ) + ); + $newContentId = $newTableIds[self::TABLE_Content][0]; + $newHotelId = $newTableIds[self::TABLE_Hotel][0]; + $localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Content, $newContentId, self::VALUE_LanguageId); + $this->assertAssertionDataSet('createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords'); + + $localizedContentId = $localizedTableIds[self::TABLE_Content][$newContentId]; + $localizedHotelId = $localizedTableIds[self::TABLE_Hotel][$newHotelId]; + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseContent(); + + // @todo Does not work since children don't point to live-default record + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $localizedContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', '[Translate to Dansk:] Hotel #1' + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Hotel . ':' . $localizedHotelId, self::FIELD_HotelOffer, + self::TABLE_Offer, 'title', '[Translate to Dansk:] Offer #1' + ); + */ + } + + /** + * @test + */ + public function modifyOnlyHotelChildRecord() { + $this->actionService->modifyRecord(self::TABLE_Hotel, 4, array('title' => 'Testing #1')); + $this->assertAssertionDataSet('modifyOnlyHotelChildRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1') + ); + } + + /** + * @test + */ + public function modifyParentRecordAndChangeHotelChildRecordsSorting() { + $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, array(self::FIELD_ContentHotel => '4,3')); + $this->assertAssertionDataSet('modifyParentRecordAndChangeHotelChildRecordsSorting'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #2', 'Hotel #1') + ); + } + + /** + * @test + */ + public function modifyParentRecordWithHotelChildRecord() { + $this->actionService->modifyRecords( + self::VALUE_PageId, + array( + self::TABLE_Hotel => array('uid' => 4, 'title' => 'Testing #1'), + self::TABLE_Content => array('uid' => self::VALUE_ContentIdFirst, self::FIELD_ContentHotel => '3,4'), + ) + ); + $this->assertAssertionDataSet('modifyParentRecordWithHotelChildRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1') + ); + } + + /** + * @test + */ + public function modifyParentRecordAndAddHotelChildRecord() { + $this->actionService->modifyRecords( + self::VALUE_PageId, + array( + self::TABLE_Hotel => array('uid' => '__NEW', 'title' => 'Hotel #2'), + self::TABLE_Content => array('uid' => self::VALUE_ContentIdLast, self::FIELD_ContentHotel => '5,__previousUid'), + ) + ); + $this->assertAssertionDataSet('modifyParentRecordAndAddHotelChildRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2') + ); + } + + /** + * @test + */ + public function modifyParentRecordAndDeleteHotelChildRecord() { + $this->actionService->modifyRecord( + self::TABLE_Content, + self::VALUE_ContentIdFirst, + array(self::FIELD_ContentHotel => '3'), + array(self::TABLE_Hotel => array(4)) + ); + $this->assertAssertionDataSet('modifyParentRecordAndDeleteHotelChildRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #1' + ); + $this->assertResponseContentStructureDoesNotHaveRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #2' + ); + } + +} diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv new file mode 100644 index 000000000000..0a7647e49828 --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv @@ -0,0 +1,24 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,768,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,16,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,32,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,4,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,8,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,16,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,64,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,256,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,512,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,768,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,1024,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,1280,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv new file mode 100644 index 000000000000..6750c480bbea --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv @@ -0,0 +1,47 @@ +pages +,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,1,0,256,0,0,0,0,0,0,FunctionalTest +,88,1,256,0,0,0,0,0,0,DataHandlerTest +,89,88,256,0,0,0,0,0,0,Relations +,90,88,512,0,0,0,0,0,0,Target +,91,90,256,0,0,0,0,0,0,Relations +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,91,256,0,0,0,0,0,0,0,0,"Regular Element #2",0,6 +,300,91,128,0,0,0,0,0,0,0,0,"Regular Element #1",0,"7,8" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,91,64,0,0,0,0,0,0,0,0,"Hotel #1",9 +,7,91,256,0,0,0,0,0,0,0,0,"Hotel #1","10,11" +,8,91,128,0,0,0,0,0,0,0,0,"Hotel #2",12 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,91,32,0,0,0,0,0,0,0,0,"Offer #1.1",14 +,10,91,256,0,0,0,0,0,0,0,0,"Offer #1.1","15,16,17" +,11,91,128,0,0,0,0,0,0,0,0,"Offer #1.2","18,19" +,12,91,64,0,0,0,0,0,0,0,0,"Offer #2.1",20 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,91,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,15,91,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,16,91,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,17,91,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,18,91,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,19,91,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,20,91,8,0,0,0,0,0,0,0,0,"Price #2.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv new file mode 100644 index 000000000000..8978eb344f71 --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv @@ -0,0 +1,28 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,0,0,0,0,0,"Regular Element #2 (copy 1)",0,6 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,64,0,0,0,0,0,0,0,0,"Hotel #1",9 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",14 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv new file mode 100644 index 000000000000..c9c8ce20c1aa --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv @@ -0,0 +1,30 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,6 +,300,89,64,0,0,0,0,0,0,0,0,"Testing #1 (copy 1)",0,7 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,0,0,0,0,0,"Hotel #1",9 +,7,89,32,0,0,0,0,0,0,0,0,"Hotel #1",10 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,16,0,0,0,0,0,0,0,0,"Offer #1", +,10,89,16,0,0,0,0,0,0,0,0,"Offer #1", +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv new file mode 100644 index 000000000000..666162173152 --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv @@ -0,0 +1,29 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,6 +,300,89,192,0,1,299,0,0,0,0,0,"[Translate to Dansk:] Testing #1",0,7 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,0,0,0,0,0,"Hotel #1",9 +,7,89,48,0,1,6,0,0,0,0,0,"[Translate to Dansk:] Hotel #1", +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,16,0,0,0,0,0,0,0,0,"Offer #1", +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv new file mode 100644 index 000000000000..2064224f4b9f --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv @@ -0,0 +1,5 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",, diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv new file mode 100644 index 000000000000..5e7e0da22b1e --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv @@ -0,0 +1,27 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,0,0,0,0,0,"Testing #1",,6 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,0,0,0,0,0,"Hotel #1",9 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,16,0,0,0,0,0,0,0,0,"Offer #1", +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv new file mode 100644 index 000000000000..c6f77db2285d --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv @@ -0,0 +1,30 @@ +pages +,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,1,0,256,0,0,0,0,0,0,FunctionalTest +,88,1,256,0,0,0,0,0,0,DataHandlerTest +,89,88,1000000000,1,0,0,0,0,0,Relations +,90,88,512,0,0,0,0,0,0,Target +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,1000000000,1,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,1000000000,1,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv new file mode 100644 index 000000000000..2b44cf0a5caa --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv @@ -0,0 +1,24 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,1000000000,1,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,1000000000,1,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,1000000000,1,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv new file mode 100644 index 000000000000..7c4643024653 --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv @@ -0,0 +1,26 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,768,0,1,298,0,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,6 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,96,0,1,5,0,0,0,0,0,"[Translate to Dansk:] Hotel #1", +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv new file mode 100644 index 000000000000..fbc241ce8759 --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv @@ -0,0 +1,24 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Testing #1",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv new file mode 100644 index 000000000000..ed4fd56b0c6d --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv @@ -0,0 +1,6 @@ +pages +,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,1,0,256,0,0,0,0,0,0,FunctionalTest +,88,1,256,0,0,0,0,0,0,DataHandlerTest +,89,88,256,0,0,0,0,0,0,"Testing #1" +,90,88,512,0,0,0,0,0,0,Target diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv new file mode 100644 index 000000000000..074640b8245d --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv @@ -0,0 +1,4 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Testing #1",,5 diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv new file mode 100644 index 000000000000..d3f526718da1 --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv @@ -0,0 +1,25 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5,6" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,0,0,0,0,0,"Hotel #2", +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv new file mode 100644 index 000000000000..f82c638b2c6b --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv @@ -0,0 +1,24 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"4,3" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv new file mode 100644 index 000000000000..1bef707eff2a --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv @@ -0,0 +1,24 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,3 +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,1000000000,1,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,1000000000,1,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,1000000000,1,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv new file mode 100644 index 000000000000..fbc241ce8759 --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv @@ -0,0 +1,24 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Testing #1",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv new file mode 100644 index 000000000000..80be9a1bbe1d --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv @@ -0,0 +1,24 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,90,256,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,90,256,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,90,256,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,90,256,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv new file mode 100644 index 000000000000..73b40856e73e --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv @@ -0,0 +1,24 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,90,512,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,90,256,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,90,64,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,90,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,90,256,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,90,32,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,90,64,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,90,128,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,90,256,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,90,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,90,8,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,90,16,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,90,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,90,64,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,90,128,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,90,256,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv new file mode 100644 index 000000000000..4a196a4ca95c --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv @@ -0,0 +1,28 @@ +"sys_language",,,,,,,,,,,,,,, +,"uid","pid","hidden","title","flag",,,,,,,,,, +,1,0,0,"Dansk","dk",,,,,,,,,, +,2,0,0,"Deutsch","de",,,,,,,,,, +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2","7" +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1","8" +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1","12" +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1","13" +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv new file mode 100644 index 000000000000..17b04d408c8e --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv @@ -0,0 +1,6 @@ +pages +,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,1,0,256,0,0,0,0,0,0,FunctionalTest +,88,1,256,0,0,0,0,0,0,DataHandlerTest +,89,88,256,0,0,0,0,0,0,Relations +,90,88,512,0,0,0,0,0,0,Target diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/LiveActionTest.php b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/LiveActionTest.php new file mode 100644 index 000000000000..5fca3f6441e6 --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/LiveActionTest.php @@ -0,0 +1,39 @@ +<?php +namespace TYPO3\CMS\Core\Tests\Functional\DataHandling\InlineRelationalRecordEditing\CommaSeparatedValue; + +/*************************************************************** + * Copyright notice + * + * (c) 2014 Oliver Hader <oliver.hader@typo3.org> + * All rights reserved + * + * This script is part of the TYPO3 project. The TYPO3 project is + * free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * The GNU General Public License can be found at + * http://www.gnu.org/copyleft/gpl.html. + * + * This script is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * This copyright notice MUST APPEAR in all copies of the script! + ***************************************************************/ + +require_once dirname(__FILE__) . '/AbstractActionTestCase.php'; + +/** + * Functional test for the DataHandler + */ +class LiveActionTest extends AbstractActionTestCase { + + public function setUp() { + parent::setUp(); + $this->backendUser->workspace = 0; + } + +} diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.general.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.general.php index 2ec9b2f50d63..9f7a282b8a99 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.general.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.general.php @@ -87,6 +87,25 @@ if (!defined('TYPO3_MODE')) { 'localizeChildrenAtParentLocalization' => TRUE, ), ) + ), + 'tx_irretutorial_1ncsv_hotels' => array( + 'exclude' => 1, + 'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.tx_irretutorial_1ncsv_hotels', + 'config' => array( + 'type' => 'inline', + 'foreign_table' => 'tx_irretutorial_1ncsv_hotel', + 'maxitems' => 10, + 'appearance' => array( + 'showSynchronizationLink' => 1, + 'showAllLocalizationLink' => 1, + 'showPossibleLocalizationRecords' => 1, + 'showRemovedLocalizationRecords' => 1, + ), + 'behaviour' => array( + 'localizationMode' => 'select', + 'localizeChildrenAtParentLocalization' => TRUE, + ), + ) ), 'tx_irretutorial_flexform' => array( 'exclude' => 1, @@ -103,6 +122,6 @@ if (!defined('TYPO3_MODE')) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes( 'tt_content', - '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.div.irre, tx_irretutorial_1nff_hotels;;;;1-1-1, tx_irretutorial_flexform' + '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.div.irre, tx_irretutorial_1nff_hotels;;;;1-1-1, tx_irretutorial_1ncsv_hotels, tx_irretutorial_flexform' ); ?> \ No newline at end of file diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Resources/Private/Language/locallang_db.xml b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Resources/Private/Language/locallang_db.xml index 349e703eeb23..279fd0240b8b 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Resources/Private/Language/locallang_db.xml +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Resources/Private/Language/locallang_db.xml @@ -12,7 +12,8 @@ <label index="pages.doktype.div.irre">IRRE Tutorial</label> <label index="pages.doktype.I.233">IRRE Tutorial Test Page</label> <label index="pages.tx_irretutorial_hotels">Hotels:</label> - <label index="tt_content.tx_irretutorial_1nff_hotels">Hotels:</label> + <label index="tt_content.tx_irretutorial_1nff_hotels">Hotels (1nff):</label> + <label index="tt_content.tx_irretutorial_1ncsv_hotels">Hotels (1ncsv):</label> <label index="tt_content.tx_irretutorial_flexform">IRRE:</label> <label index="tt_content.tx_irretutorial_flexform.hotels">IRRE:</label> <label index="tt_content.div.irre">IRRE Tutorial</label> diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/ext_tables.sql b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/ext_tables.sql index 7616e15bc37f..64fb75006e98 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/ext_tables.sql +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/ext_tables.sql @@ -23,6 +23,7 @@ CREATE TABLE pages_language_overlay ( # CREATE TABLE tt_content ( tx_irretutorial_1nff_hotels int(11) DEFAULT '0' NOT NULL, + tx_irretutorial_1ncsv_hotels text NOT NULL, tx_irretutorial_flexform mediumtext ); diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts b/typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts index 4e1ff319b921..95452ce58fa3 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts @@ -19,6 +19,9 @@ watcher { tx_irretutorial_1nff_hotel = uid,_ORIG_uid,_LOCALIZED_UID,pid,sorting,sys_language_uid,title,offers tx_irretutorial_1nff_offer = uid,_ORIG_uid,_LOCALIZED_UID,pid,sorting,sys_language_uid,title,prices tx_irretutorial_1nff_price = uid,_ORIG_uid,_LOCALIZED_UID,pid,sorting,sys_language_uid,title,price + tx_irretutorial_1ncsv_hotel = uid,_ORIG_uid,_LOCALIZED_UID,pid,sorting,sys_language_uid,title,offers + tx_irretutorial_1ncsv_offer = uid,_ORIG_uid,_LOCALIZED_UID,pid,sorting,sys_language_uid,title,prices + tx_irretutorial_1ncsv_price = uid,_ORIG_uid,_LOCALIZED_UID,pid,sorting,sys_language_uid,title,price } } @@ -106,6 +109,42 @@ page { } } } + 30 = CONTENT + 30 { + if.isTrue.field = tx_irretutorial_1ncsv_hotels + watcher.parentRecordField = tx_irretutorial_1ncsv_hotels + table = tx_irretutorial_1ncsv_hotel + select { + uidInList.data = field:tx_irretutorial_1ncsv_hotels + orderBy = sorting + # not including sys_language_uid lookup + # languageField = sys_language_uid + } + renderObj = CONTENT + renderObj { + if.isTrue.field = offers + watcher.parentRecordField = offers + table = tx_irretutorial_1ncsv_offer + select { + uidInList.data = field:offers + orderBy = sorting + # not including sys_language_uid lookup + # languageField = sys_language_uid + } + renderObj = CONTENT + renderObj { + if.isTrue.field = prices + watcher.parentRecordField = prices + table = tx_irretutorial_1ncsv_price + select { + uidInList.data = field:prices + orderBy = sorting + # not including sys_language_uid lookup + # languageField = sys_language_uid + } + } + } + } } } } diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php new file mode 100644 index 000000000000..577062043f38 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/AbstractActionTestCase.php @@ -0,0 +1,604 @@ +<?php +namespace TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\InlineRelationalRecordEditing\CommaSeparatedValue; + +/*************************************************************** + * Copyright notice + * + * (c) 2014 Oliver Hader <oliver.hader@typo3.org> + * All rights reserved + * + * This script is part of the TYPO3 project. The TYPO3 project is + * free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * The GNU General Public License can be found at + * http://www.gnu.org/copyleft/gpl.html. + * + * This script is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * This copyright notice MUST APPEAR in all copies of the script! + ***************************************************************/ + +require_once __DIR__ . '/../../../../../../core/Tests/Functional/DataHandling/AbstractDataHandlerActionTestCase.php'; + +/** + * Functional test for the DataHandler + */ +abstract class AbstractActionTestCase extends \TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase { + + const VALUE_PageId = 89; + const VALUE_PageIdTarget = 90; + const VALUE_PageIdWebsite = 1; + const VALUE_ContentIdFirst = 297; + const VALUE_ContentIdLast = 298; + const VALUE_LanguageId = 1; + const VALUE_WorkspaceId = 1; + + const TABLE_Page = 'pages'; + const TABLE_Content = 'tt_content'; + const TABLE_Hotel = 'tx_irretutorial_1ncsv_hotel'; + const TABLE_Offer = 'tx_irretutorial_1ncsv_offer'; + + const FIELD_ContentHotel = 'tx_irretutorial_1ncsv_hotels'; + const FIELD_HotelOffer = 'offers'; + + /** + * @var string + */ + protected $dataSetDirectory = 'typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/'; + + /** + * @var array + */ + protected $coreExtensionsToLoad = array( + 'version', + 'workspaces', + ); + + public function setUp() { + parent::setUp(); + $this->importScenarioDataSet('LiveDefaultPages'); + $this->importScenarioDataSet('LiveDefaultElements'); + + $this->setUpFrontendRootPage(1, array('typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts')); + } + + /** + * Parent content records + */ + + /** + * @test + */ + public function createParentContentRecord() { + $this->actionService->createNewRecord(self::TABLE_Content, self::VALUE_PageId, array('header' => 'Testing #1')); + $this->assertAssertionDataSet('createParentContentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1'); + } + + /** + * @test + */ + public function modifyParentContentRecord() { + $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, array('header' => 'Testing #1')); + $this->assertAssertionDataSet('modifyParentContentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1'); + + // @todo Cannot direct select workspace version due to frontend SQL query + // SELECT * FROM tx_irretutorial_1ncsv_hotel + // WHERE tx_irretutorial_1ncsv_hotel.uid=6 AND tx_irretutorial_1ncsv_hotel.pid IN (89) + // AND tx_irretutorial_1ncsv_hotel.deleted=0 AND (tx_irretutorial_1ncsv_hotel.t3ver_wsid=0 OR tx_irretutorial_1ncsv_hotel.t3ver_wsid=1) + // AND tx_irretutorial_1ncsv_hotel.pid<>-1 ORDER BY sorting + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + */ + } + + /** + * @test + */ + public function deleteParentContentRecord() { + $this->actionService->deleteRecord(self::TABLE_Content, self::VALUE_ContentIdLast); + $this->assertAssertionDataSet('deleteParentContentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentDoesNotHaveRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2'); + } + + /** + * @test + */ + public function deleteParentContentRecordAndDiscardDeletedParentRecord() { + $newTableIds = $this->actionService->deleteRecord(self::TABLE_Content, self::VALUE_ContentIdLast); + $versionedDeletedContentId = $newTableIds[self::TABLE_Content][self::VALUE_ContentIdLast]; + $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $versionedDeletedContentId); + $this->assertAssertionDataSet('deleteParentContentRecordAndDiscardDeletedParentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2'); + } + + /** + * @test + */ + public function copyParentContentRecord() { + $newTableIds = $this->actionService->copyRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageId); + $this->assertAssertionDataSet('copyParentContentRecord'); + + $newContentId = $newTableIds[self::TABLE_Content][self::VALUE_ContentIdLast]; + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + } + + /** + * @test + */ + public function localizeParentContentRecord() { + $this->actionService->localizeRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId); + $this->assertAssertionDataSet('localizeParentContentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('[Translate to Dansk:] Hotel #1') + ); + } + + /** + * @test + */ + public function changeParentContentRecordSorting() { + $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast); + $this->assertAssertionDataSet('changeParentContentRecordSorting'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + + // @todo Cannot direct select workspace version due to frontend SQL query + // SELECT * FROM tx_irretutorial_1ncsv_hotel + // WHERE tx_irretutorial_1ncsv_hotel.uid=6 AND tx_irretutorial_1ncsv_hotel.pid IN (89) + // AND tx_irretutorial_1ncsv_hotel.deleted=0 AND (tx_irretutorial_1ncsv_hotel.t3ver_wsid=0 OR tx_irretutorial_1ncsv_hotel.t3ver_wsid=1) + // AND tx_irretutorial_1ncsv_hotel.pid<>-1 ORDER BY sorting + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2') + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + */ + } + + /** + * @test + */ + public function moveParentContentRecordToDifferentPage() { + $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget); + $this->assertAssertionDataSet('moveParentContentRecordToDifferentPage'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #2'); + + // @todo Workspace child records gets lost due to core bug + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + */ + } + + /** + * @test + */ + public function moveParentContentRecordToDifferentPageAndChangeSorting() { + $this->markTestSkipped('Something seems to be wrong here...'); + $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_PageIdTarget); + $this->actionService->moveRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, -self::VALUE_ContentIdLast); + $this->assertAssertionDataSet('moveParentContentRecordToDifferentPageAndChangeSorting'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageIdTarget, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', array('Regular Element #2', 'Regular Element #1')); + + // @todo Cannot direct select workspace version due to frontend SQL query + // SELECT * FROM tx_irretutorial_1ncsv_hotel + // WHERE tx_irretutorial_1ncsv_hotel.uid=6 AND tx_irretutorial_1ncsv_hotel.pid IN (89) + // AND tx_irretutorial_1ncsv_hotel.deleted=0 AND (tx_irretutorial_1ncsv_hotel.t3ver_wsid=0 OR tx_irretutorial_1ncsv_hotel.t3ver_wsid=1) + // AND tx_irretutorial_1ncsv_hotel.pid<>-1 ORDER BY sorting + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2') + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1') + ); + */ + } + + /** + * Page records + */ + + /** + * @test + */ + public function modifyPageRecord() { + $this->actionService->modifyRecord(self::TABLE_Page, self::VALUE_PageId, array('title' => 'Testing #1')); + $this->assertAssertionDataSet('modifyPageRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Page, 'title', 'Testing #1'); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2') + ); + } + + /** + * @test + */ + public function deletePageRecord() { + $this->actionService->deleteRecord(self::TABLE_Page, self::VALUE_PageId); + $this->assertAssertionDataSet('deletePageRecord'); + + $response = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId, FALSE); + $this->assertContains('RuntimeException', $response->getError()); + } + + /** + * @test + */ + public function copyPageRecord() { + $newTableIds = $this->actionService->copyRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_PageIdTarget); + $this->assertAssertionDataSet('copyPageRecord'); + + $newPageId = $newTableIds[self::TABLE_Page][self::VALUE_PageId]; + $responseContent = $this->getFrontendResponse($newPageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2', 'Hotel #1')); + } + + /** + * IRRE Child Records + */ + + /** + * @test + */ + public function createParentContentRecordWithHotelAndOfferChildRecords() { + $newTableIds = $this->actionService->createNewRecords( + self::VALUE_PageId, + array( + self::TABLE_Offer => array('title' => 'Offer #1'), + self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'), + self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'), + ) + ); + $this->assertAssertionDataSet('createParentContentRecordWithHotelAndOfferChildRecords'); + + $newContentId = $newTableIds[self::TABLE_Content][0]; + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1'); + + // @todo Shadow fields are not correct on the new placeholder + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #1' + ); + */ + } + + /** + * @test + */ + public function createAndCopyParentContentRecordWithHotelAndOfferChildRecords() { + // @todo Copying the new child records is broken in the Core + $newTableIds = $this->actionService->createNewRecords( + self::VALUE_PageId, + array( + self::TABLE_Offer => array('title' => 'Offer #1'), + self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'), + self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'), + ) + ); + $newContentId = $newTableIds[self::TABLE_Content][0]; + $newHotelId = $newTableIds[self::TABLE_Hotel][0]; + $copiedTableIds = $this->actionService->copyRecord(self::TABLE_Content, $newContentId, self::VALUE_PageId); + $this->assertAssertionDataSet('createAndCopyParentContentRecordWithHotelAndOfferChildRecords'); + + $copiedContentId = $copiedTableIds[self::TABLE_Content][$newContentId]; + $copiedHotelId = $copiedTableIds[self::TABLE_Hotel][$newHotelId]; + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1 (copy 1)'); + + // @todo Shadow fields are not correct on the new placeholder + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $newContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #1' + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $copiedContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #1' + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Hotel . ':' . $copiedHotelId, self::FIELD_HotelOffer, + self::TABLE_Offer, 'title', 'Offer #1' + ); + */ + } + + /** + * @test + */ + public function createAndCopyParentContentRecordWithHotelAndOfferChildRecordsAndDiscardCopiedParentRecord() { + // @todo Copying the new child records is broken in the Core + $newTableIds = $this->actionService->createNewRecords( + self::VALUE_PageId, + array( + self::TABLE_Offer => array('title' => 'Offer #1'), + self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'), + self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'), + ) + ); + $newContentId = $newTableIds['tt_content'][0]; + $copiedTableIds = $this->actionService->copyRecord(self::TABLE_Content, $newContentId, self::VALUE_PageId); + $copiedContentId = $copiedTableIds[self::TABLE_Content][$newContentId]; + $versionedCopiedContentId = $this->actionService->getDataHander()->getAutoVersionId(self::TABLE_Content, $copiedContentId); + $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $versionedCopiedContentId); + $this->assertAssertionDataSet('createAndCopyParentContentRecordWithHotelAndOfferChildRecordsAndDiscardCopiedParentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentDoesNotHaveRecords($responseContent, self::TABLE_Content, 'header', 'Testing #1 (copy 1)'); + } + + /** + * @test + */ + public function createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords() { + // @todo Localizing the new child records is broken in the Core + $newTableIds = $this->actionService->createNewRecords( + self::VALUE_PageId, + array( + self::TABLE_Offer => array('title' => 'Offer #1'), + self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'), + self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'), + ) + ); + $newContentId = $newTableIds[self::TABLE_Content][0]; + $newHotelId = $newTableIds[self::TABLE_Hotel][0]; + $localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Content, $newContentId, self::VALUE_LanguageId); + $this->assertAssertionDataSet('createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords'); + + $localizedContentId = $localizedTableIds[self::TABLE_Content][$newContentId]; + $localizedHotelId = $localizedTableIds[self::TABLE_Hotel][$newHotelId]; + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', '[Translate to Dansk:] Testing #1'); + + // @todo Does not work since children don't point to live-default record + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . $localizedContentId, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', '[Translate to Dansk:] Hotel #1' + ); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Hotel . ':' . $localizedHotelId, self::FIELD_HotelOffer, + self::TABLE_Offer, 'title', '[Translate to Dansk:] Offer #1' + ); + */ + } + + /** + * @test + */ + public function createAndLocalizeParentContentRecordWithHotelAndOfferChildRecordsAndDiscardLocalizedParentRecord() { + // @todo Localizing the new child records is broken in the Core + $newTableIds = $this->actionService->createNewRecords( + self::VALUE_PageId, + array( + self::TABLE_Offer => array('title' => 'Offer #1'), + self::TABLE_Hotel => array('title' => 'Hotel #1', self::FIELD_HotelOffer => '__previousUid'), + self::TABLE_Content => array('header' => 'Testing #1', self::FIELD_ContentHotel => '__previousUid'), + ) + ); + $newContentId = $newTableIds[self::TABLE_Content][0]; + $localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Content, $newContentId, self::VALUE_LanguageId); + $localizedContentId = $localizedTableIds[self::TABLE_Content][$newContentId]; + $versionedLocalizedContentId = $this->actionService->getDataHander()->getAutoVersionId(self::TABLE_Content, $localizedContentId); + $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $versionedLocalizedContentId); + $this->assertAssertionDataSet('createAndLocalizeParentContentRecordWithHotelAndOfferChildRecordsAndDiscardLocalizedParentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentDoesNotHaveRecords($responseContent, self::TABLE_Content, 'header', '[Translate to Dansk:] Testing #1'); + } + + /** + * @test + */ + public function modifyOnlyHotelChildRecord() { + $this->actionService->modifyRecord(self::TABLE_Hotel, 4, array('title' => 'Testing #1')); + $this->assertAssertionDataSet('modifyOnlyHotelChildRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1') + ); + } + + /** + * @test + */ + public function modifyParentRecordAndChangeHotelChildRecordsSorting() { + $this->actionService->modifyRecord(self::TABLE_Content, self::VALUE_ContentIdFirst, array(self::FIELD_ContentHotel => '4,3')); + $this->assertAssertionDataSet('modifyParentRecordAndChangeHotelChildRecordsSorting'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + + // @todo Cannot direct select workspace version due to frontend SQL query + // SELECT * FROM tx_irretutorial_1ncsv_hotel + // WHERE tx_irretutorial_1ncsv_hotel.uid=6 AND tx_irretutorial_1ncsv_hotel.pid IN (89) + // AND tx_irretutorial_1ncsv_hotel.deleted=0 AND (tx_irretutorial_1ncsv_hotel.t3ver_wsid=0 OR tx_irretutorial_1ncsv_hotel.t3ver_wsid=1) + // AND tx_irretutorial_1ncsv_hotel.pid<>-1 ORDER BY sorting + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #2', 'Hotel #1') + ); + */ + } + + /** + * @test + */ + public function modifyParentRecordWithHotelChildRecord() { + $this->actionService->modifyRecords( + self::VALUE_PageId, + array( + self::TABLE_Hotel => array('uid' => 4, 'title' => 'Testing #1'), + self::TABLE_Content => array('uid' => self::VALUE_ContentIdFirst, self::FIELD_ContentHotel => '3,4'), + ) + ); + $this->assertAssertionDataSet('modifyParentRecordWithHotelChildRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + + // @todo Cannot direct select workspace version due to frontend SQL query + // SELECT * FROM tx_irretutorial_1ncsv_hotel + // WHERE tx_irretutorial_1ncsv_hotel.uid=6 AND tx_irretutorial_1ncsv_hotel.pid IN (89) + // AND tx_irretutorial_1ncsv_hotel.deleted=0 AND (tx_irretutorial_1ncsv_hotel.t3ver_wsid=0 OR tx_irretutorial_1ncsv_hotel.t3ver_wsid=1) + // AND tx_irretutorial_1ncsv_hotel.pid<>-1 ORDER BY sorting + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1') + ); + */ + } + + /** + * @test + */ + public function modifyParentRecordWithHotelChildRecordAndDiscardModifiedParentRecord() { + $this->actionService->modifyRecords( + self::VALUE_PageId, + array( + self::TABLE_Hotel => array('uid' => 4, 'title' => 'Testing #1'), + self::TABLE_Content => array('uid' => self::VALUE_ContentIdFirst, self::FIELD_ContentHotel => '3,4'), + ) + ); + $modifiedContentId = $this->actionService->getDataHander()->getAutoVersionId(self::TABLE_Content, self::VALUE_ContentIdFirst); + $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $modifiedContentId); + $this->assertAssertionDataSet('modifyParentRecordWithHotelChildRecordAndDiscardModifiedParentRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #1'); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Testing #1') + // @todo Discarding the parent record should discard the child records as well + // self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2') + ); + /* + $this->assertResponseContentStructureDoesNotHaveRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Testing #1' + ); + */ + } + + /** + * @test + */ + public function modifyParentRecordWithHotelChildRecordAndDiscardAllModifiedRecords() { + $this->actionService->modifyRecords( + self::VALUE_PageId, + array( + self::TABLE_Hotel => array('uid' => 4, 'title' => 'Testing #1'), + self::TABLE_Content => array('uid' => self::VALUE_ContentIdFirst, self::FIELD_ContentHotel => '3,4'), + ) + ); + $modifiedContentId = $this->actionService->getDataHander()->getAutoVersionId(self::TABLE_Content, self::VALUE_ContentIdFirst); + $modifiedHotelId = $this->actionService->getDataHander()->getAutoVersionId(self::TABLE_Hotel, 4); + $this->actionService->clearWorkspaceRecords( + array( + self::TABLE_Hotel => array($modifiedHotelId), + self::TABLE_Content => array($modifiedContentId), + ) + ); + $this->assertAssertionDataSet('modifyParentRecordWithHotelChildRecordAndDiscardAllModifiedRecords'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentHasRecords($responseContent, self::TABLE_Content, 'header', 'Regular Element #1'); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2') + ); + } + + /** + * @test + */ + public function modifyParentRecordAndAddHotelChildRecord() { + $this->actionService->modifyRecords( + self::VALUE_PageId, + array( + self::TABLE_Hotel => array('uid' => '__NEW', 'title' => 'Hotel #2'), + self::TABLE_Content => array('uid' => self::VALUE_ContentIdLast, self::FIELD_ContentHotel => '5,__previousUid'), + ) + ); + $this->assertAssertionDataSet('modifyParentRecordAndAddHotelChildRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + + // @todo Child record cannot be selected since they do not point to the live record + /* + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', array('Hotel #1', 'Hotel #2') + ); + */ + } + + /** + * @test + */ + public function modifyParentRecordAndDeleteHotelChildRecord() { + $this->actionService->modifyRecord( + self::TABLE_Content, + self::VALUE_ContentIdFirst, + array(self::FIELD_ContentHotel => '3'), + array(self::TABLE_Hotel => array(4)) + ); + $this->assertAssertionDataSet('modifyParentRecordAndDeleteHotelChildRecord'); + + $responseContent = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent(); + $this->assertResponseContentStructureHasRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #1' + ); + $this->assertResponseContentStructureDoesNotHaveRecords( + $responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdLast, self::FIELD_ContentHotel, + self::TABLE_Hotel, 'title', 'Hotel #2' + ); + } + +} diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv new file mode 100644 index 000000000000..e05c2677084f --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/changeParentContentRecordSorting.csv @@ -0,0 +1,37 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,256,0,0,0,1,4,0,297,0,"Regular Element #1",0,"6,7" +,300,89,768,0,0,0,1,3,0,0,297,"[MOVE-TO PLACEHOLDER for #297, WS#1]",, +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,256,0,0,0,1,0,0,3,0,"Hotel #1","9,10" +,7,-1,128,0,0,0,1,0,0,4,0,"Hotel #2",11 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,256,0,0,0,1,0,0,5,0,"Offer #1.1","14,15,16" +,10,-1,128,0,0,0,1,0,0,6,0,"Offer #1.2","17,18" +,11,-1,64,0,0,0,1,0,0,7,0,"Offer #2.1",19 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,256,0,0,0,1,0,0,7,0,"Price #1.1.1" +,15,-1,128,0,0,0,1,0,0,8,0,"Price #1.1.2" +,16,-1,64,0,0,0,1,0,0,9,0,"Price #1.1.3" +,17,-1,32,0,0,0,1,0,0,10,0,"Price #1.2.1" +,18,-1,16,0,0,0,1,0,0,11,0,"Price #1.2.2" +,19,-1,8,0,0,0,1,0,0,12,0,"Price #2.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv new file mode 100644 index 000000000000..37c11f7d3cc5 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyPageRecord.csv @@ -0,0 +1,50 @@ +pages +,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,1,0,256,0,0,0,0,0,0,FunctionalTest +,88,1,256,0,0,0,0,0,0,DataHandlerTest +,89,88,256,0,0,0,0,0,0,Relations +,90,88,512,0,0,0,0,0,0,Target +,91,90,256,0,1,1,0,0,0,Relations +,92,-1,256,0,1,-1,0,91,0,Relations +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,91,256,0,0,0,1,1,0,0,0,"Regular Element #2",, +,300,-1,256,0,0,0,1,-1,0,299,0,"Regular Element #2",0,6 +,301,91,128,0,0,0,1,1,0,0,0,"Regular Element #1",, +,302,-1,128,0,0,0,1,-1,0,301,0,"Regular Element #1",0,"7,8" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,91,64,0,0,0,0,0,0,0,0,"Hotel #1",9 +,7,91,256,0,0,0,0,0,0,0,0,"Hotel #1","10,11" +,8,91,128,0,0,0,0,0,0,0,0,"Hotel #2",12 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,91,32,0,0,0,0,0,0,0,0,"Offer #1.1",14 +,10,91,256,0,0,0,0,0,0,0,0,"Offer #1.1","15,16,17" +,11,91,128,0,0,0,0,0,0,0,0,"Offer #1.2","18,19" +,12,91,64,0,0,0,0,0,0,0,0,"Offer #2.1",20 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,91,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,15,91,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,16,91,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,17,91,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,18,91,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,19,91,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,20,91,8,0,0,0,0,0,0,0,0,"Price #2.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv new file mode 100644 index 000000000000..e67567aeddbc --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/copyParentContentRecord.csv @@ -0,0 +1,29 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,1,1,0,0,0,"Regular Element #2 (copy 1)",, +,300,-1,128,0,0,0,1,-1,0,299,0,"Regular Element #2 (copy 1)",0,6 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,64,0,0,0,0,0,0,0,0,"Hotel #1",9 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",14 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv new file mode 100644 index 000000000000..827ba8ed9556 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecords.csv @@ -0,0 +1,34 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",, +,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,7 +,301,89,64,0,0,0,1,1,0,0,0,"Testing #1 (copy 1)",, +,302,-1,64,0,0,0,1,-1,0,301,0,"Testing #1 (copy 1)",0,8 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,1,1,0,0,0,"Hotel #1", +,7,-1,32,0,0,0,1,-1,0,6,0,"Hotel #1",10 +,8,89,32,0,0,0,1,-1,0,6,0,"Hotel #1",11 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,16,0,0,0,1,1,0,0,0,"Offer #1", +,10,-1,16,0,0,0,1,-1,0,9,0,"Offer #1", +,11,89,16,0,0,0,1,-1,0,9,0,"Offer #1", +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecordsAndDiscardCopiedParentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecordsAndDiscardCopiedParentRecord.csv new file mode 100644 index 000000000000..06473ecfa247 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndCopyParentContentRecordWithHotelAndOfferChildRecordsAndDiscardCopiedParentRecord.csv @@ -0,0 +1,36 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",, +,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,7 +,301,89,1000000000,1,0,0,0,1,0,0,0,"Testing #1 (copy 1)",, +,302,-1,1000000000,1,0,0,0,-1,0,301,0,"Testing #1 (copy 1)",0,8 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,1,1,0,0,0,"Hotel #1", +,7,-1,32,0,0,0,1,-1,0,6,0,"Hotel #1",10 +,8,89,32,0,0,0,1,-1,0,6,0,"Hotel #1",11 +,9,-1,32,0,0,0,1,2,0,8,0,"Hotel #1",12 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,16,0,0,0,1,1,0,0,0,"Offer #1", +,10,-1,16,0,0,0,1,-1,0,9,0,"Offer #1", +,11,89,16,0,0,0,1,-1,0,9,0,"Offer #1", +,12,-1,16,0,0,0,1,2,0,11,0,"Offer #1", +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv new file mode 100644 index 000000000000..75ce1ab4bb5e --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecords.csv @@ -0,0 +1,34 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",, +,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,7 +,301,89,192,0,1,299,1,1,0,0,0,"[Translate to Dansk:] Testing #1",, +,302,-1,192,0,1,299,1,-1,0,301,0,"[Translate to Dansk:] Testing #1",0,8 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,1,1,0,0,0,"Hotel #1", +,7,-1,32,0,0,0,1,-1,0,6,0,"Hotel #1",10 +,8,89,48,0,1,7,1,1,0,0,0,"[Translate to Dansk:] Hotel #1", +,9,-1,48,0,1,7,1,-1,0,8,0,"[Translate to Dansk:] Hotel #1", +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,16,0,0,0,1,1,0,0,0,"Offer #1", +,10,-1,16,0,0,0,1,-1,0,9,0,"Offer #1", +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecordsAndDiscardLocalizedParentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecordsAndDiscardLocalizedParentRecord.csv new file mode 100644 index 000000000000..a9d31e971bc8 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createAndLocalizeParentContentRecordWithHotelAndOfferChildRecordsAndDiscardLocalizedParentRecord.csv @@ -0,0 +1,34 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",, +,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,7 +,301,89,1000000000,1,1,299,0,1,0,0,0,"[Translate to Dansk:] Testing #1",, +,302,-1,1000000000,1,1,299,0,-1,0,301,0,"[Translate to Dansk:] Testing #1",0,8 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,1,1,0,0,0,"Hotel #1", +,7,-1,32,0,0,0,1,-1,0,6,0,"Hotel #1",10 +,8,89,1000000000,1,1,7,0,1,0,0,0,"[Translate to Dansk:] Hotel #1", +,9,-1,1000000000,1,1,7,0,-1,0,8,0,"[Translate to Dansk:] Hotel #1", +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,16,0,0,0,1,1,0,0,0,"Offer #1", +,10,-1,16,0,0,0,1,-1,0,9,0,"Offer #1", +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv new file mode 100644 index 000000000000..39081ebbc8b1 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecord.csv @@ -0,0 +1,6 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",, +,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",, diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv new file mode 100644 index 000000000000..656034c1ad16 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/createParentContentRecordWithHotelAndOfferChildRecords.csv @@ -0,0 +1,30 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,128,0,0,0,1,1,0,0,0,"Testing #1",, +,300,-1,128,0,0,0,1,-1,0,299,0,"Testing #1",,7 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,1,1,0,0,0,"Hotel #1", +,7,-1,32,0,0,0,1,-1,0,6,0,"Hotel #1",10 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,89,16,0,0,0,1,1,0,0,0,"Offer #1", +,10,-1,16,0,0,0,1,-1,0,9,0,"Offer #1", +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv new file mode 100644 index 000000000000..c4b2bac6b2f3 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deletePageRecord.csv @@ -0,0 +1,31 @@ +pages +,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,1,0,256,0,0,0,0,0,0,FunctionalTest +,88,1,256,0,0,0,0,0,0,DataHandlerTest +,89,88,256,0,0,0,0,0,0,Relations +,90,88,512,0,0,0,0,0,0,Target +,91,-1,256,0,1,2,0,89,0,Relations +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv new file mode 100644 index 000000000000..bf1b7cc2cd6f --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecord.csv @@ -0,0 +1,28 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,512,0,0,0,1,2,0,298,0,"Regular Element #2",0,6 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,64,0,0,0,1,2,0,5,0,"Hotel #1",9 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,32,0,0,0,1,2,0,8,0,"Offer #1.1",14 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,4,0,0,0,1,2,0,13,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecordAndDiscardDeletedParentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecordAndDiscardDeletedParentRecord.csv new file mode 100644 index 000000000000..18d7724ffc5e --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/deleteParentContentRecordAndDiscardDeletedParentRecord.csv @@ -0,0 +1,24 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv new file mode 100644 index 000000000000..4fa119f1cf24 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/localizeParentContentRecord.csv @@ -0,0 +1,28 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,89,768,0,1,298,1,1,0,0,0,"[Translate to Dansk:] Regular Element #2",, +,300,-1,768,0,1,298,1,-1,0,299,0,"[Translate to Dansk:] Regular Element #2",0,6 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,96,0,1,5,1,1,0,0,0,"[Translate to Dansk:] Hotel #1", +,7,-1,96,0,1,5,1,-1,0,6,0,"[Translate to Dansk:] Hotel #1", +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv new file mode 100644 index 000000000000..56c78fde0a1d --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyOnlyHotelChildRecord.csv @@ -0,0 +1,27 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,128,0,0,0,1,0,0,4,0,"Testing #1",9 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,64,0,0,0,1,0,0,7,0,"Offer #2.1",14 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,8,0,0,0,1,0,0,12,0,"Price #2.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv new file mode 100644 index 000000000000..07c6f4c0d18f --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyPageRecord.csv @@ -0,0 +1,31 @@ +pages +,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,1,0,256,0,0,0,0,0,0,FunctionalTest +,88,1,256,0,0,0,0,0,0,DataHandlerTest +,89,88,256,0,0,0,0,0,0,Relations +,90,88,512,0,0,0,0,0,0,Target +,91,-1,256,0,1,0,0,89,0,"Testing #1" +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv new file mode 100644 index 000000000000..a3fc4e403df0 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentContentRecord.csv @@ -0,0 +1,28 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,512,0,0,0,1,0,0,298,0,"Testing #1",0,6 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,64,0,0,0,1,0,0,5,0,"Hotel #1",9 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,32,0,0,0,1,0,0,8,0,"Offer #1.1",14 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,4,0,0,0,1,0,0,13,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv new file mode 100644 index 000000000000..0a121783d32a --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndAddHotelChildRecord.csv @@ -0,0 +1,30 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,512,0,0,0,1,0,0,298,0,"Regular Element #2",0,"8,7" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,89,32,0,0,0,1,1,0,0,0,"Hotel #2", +,7,-1,32,0,0,0,1,-1,0,6,0,"Hotel #2", +,8,-1,64,0,0,0,1,0,0,5,0,"Hotel #1",9 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,32,0,0,0,1,0,0,8,0,"Offer #1.1",14 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,4,0,0,0,1,0,0,13,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv new file mode 100644 index 000000000000..261dce82c713 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndChangeHotelChildRecordsSorting.csv @@ -0,0 +1,36 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,256,0,0,0,1,0,0,297,0,"Regular Element #1",0,"7,6" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,256,0,0,0,1,0,0,3,0,"Hotel #1","9,10" +,7,-1,128,0,0,0,1,0,0,4,0,"Hotel #2",11 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,256,0,0,0,1,0,0,5,0,"Offer #1.1","14,15,16" +,10,-1,128,0,0,0,1,0,0,6,0,"Offer #1.2","17,18" +,11,-1,64,0,0,0,1,0,0,7,0,"Offer #2.1",19 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,256,0,0,0,1,0,0,7,0,"Price #1.1.1" +,15,-1,128,0,0,0,1,0,0,8,0,"Price #1.1.2" +,16,-1,64,0,0,0,1,0,0,9,0,"Price #1.1.3" +,17,-1,32,0,0,0,1,0,0,10,0,"Price #1.2.1" +,18,-1,16,0,0,0,1,0,0,11,0,"Price #1.2.2" +,19,-1,8,0,0,0,1,0,0,12,0,"Price #2.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv new file mode 100644 index 000000000000..82879c40b2a7 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordAndDeleteHotelChildRecord.csv @@ -0,0 +1,36 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,256,0,0,0,1,0,0,297,0,"Regular Element #1",0,6 +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,256,0,0,0,1,0,0,3,0,"Hotel #1","9,10" +,7,-1,128,0,0,0,1,2,0,4,0,"Hotel #2",11 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,256,0,0,0,1,0,0,5,0,"Offer #1.1","14,15,16" +,10,-1,128,0,0,0,1,0,0,6,0,"Offer #1.2","17,18" +,11,-1,64,0,0,0,1,2,0,7,0,"Offer #2.1",19 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,256,0,0,0,1,0,0,7,0,"Price #1.1.1" +,15,-1,128,0,0,0,1,0,0,8,0,"Price #1.1.2" +,16,-1,64,0,0,0,1,0,0,9,0,"Price #1.1.3" +,17,-1,32,0,0,0,1,0,0,10,0,"Price #1.2.1" +,18,-1,16,0,0,0,1,0,0,11,0,"Price #1.2.2" +,19,-1,8,0,0,0,1,2,0,12,0,"Price #2.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv new file mode 100644 index 000000000000..20523d5442dc --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecord.csv @@ -0,0 +1,36 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,256,0,0,0,1,0,0,297,0,"Regular Element #1",0,"7,6" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,128,0,0,0,1,0,0,4,0,"Testing #1",9 +,7,-1,256,0,0,0,1,0,0,3,0,"Hotel #1","10,11" +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,64,0,0,0,1,0,0,7,0,"Offer #2.1",14 +,10,-1,256,0,0,0,1,0,0,5,0,"Offer #1.1","15,16,17" +,11,-1,128,0,0,0,1,0,0,6,0,"Offer #1.2","18,19" +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,8,0,0,0,1,0,0,12,0,"Price #2.1.1" +,15,-1,256,0,0,0,1,0,0,7,0,"Price #1.1.1" +,16,-1,128,0,0,0,1,0,0,8,0,"Price #1.1.2" +,17,-1,64,0,0,0,1,0,0,9,0,"Price #1.1.3" +,18,-1,32,0,0,0,1,0,0,10,0,"Price #1.2.1" +,19,-1,16,0,0,0,1,0,0,11,0,"Price #1.2.2" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardAllModifiedRecords.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardAllModifiedRecords.csv new file mode 100644 index 000000000000..129c33bd7a65 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardAllModifiedRecords.csv @@ -0,0 +1,36 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,256,0,0,0,0,0,0,297,0,"Regular Element #1",0,"7,6" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,128,0,0,0,0,0,0,4,0,"Testing #1",9 +,7,-1,256,0,0,0,1,0,0,3,0,"Hotel #1","10,11" +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,64,0,0,0,1,0,0,7,0,"Offer #2.1",14 +,10,-1,256,0,0,0,1,0,0,5,0,"Offer #1.1","15,16,17" +,11,-1,128,0,0,0,1,0,0,6,0,"Offer #1.2","18,19" +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,8,0,0,0,1,0,0,12,0,"Price #2.1.1" +,15,-1,256,0,0,0,1,0,0,7,0,"Price #1.1.1" +,16,-1,128,0,0,0,1,0,0,8,0,"Price #1.1.2" +,17,-1,64,0,0,0,1,0,0,9,0,"Price #1.1.3" +,18,-1,32,0,0,0,1,0,0,10,0,"Price #1.2.1" +,19,-1,16,0,0,0,1,0,0,11,0,"Price #1.2.2" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardModifiedParentRecord.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardModifiedParentRecord.csv new file mode 100644 index 000000000000..4d1c8e22038b --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/modifyParentRecordWithHotelChildRecordAndDiscardModifiedParentRecord.csv @@ -0,0 +1,36 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,256,0,0,0,0,0,0,297,0,"Regular Element #1",0,"7,6" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,128,0,0,0,1,0,0,4,0,"Testing #1",9 +,7,-1,256,0,0,0,1,0,0,3,0,"Hotel #1","10,11" +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,64,0,0,0,1,0,0,7,0,"Offer #2.1",14 +,10,-1,256,0,0,0,1,0,0,5,0,"Offer #1.1","15,16,17" +,11,-1,128,0,0,0,1,0,0,6,0,"Offer #1.2","18,19" +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,8,0,0,0,1,0,0,12,0,"Price #2.1.1" +,15,-1,256,0,0,0,1,0,0,7,0,"Price #1.1.1" +,16,-1,128,0,0,0,1,0,0,8,0,"Price #1.1.2" +,17,-1,64,0,0,0,1,0,0,9,0,"Price #1.1.3" +,18,-1,32,0,0,0,1,0,0,10,0,"Price #1.2.1" +,19,-1,16,0,0,0,1,0,0,11,0,"Price #1.2.2" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv new file mode 100644 index 000000000000..b3eebab6c214 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPage.csv @@ -0,0 +1,29 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,512,0,0,0,1,4,0,298,0,"Regular Element #2",0,6 +,300,90,256,0,0,0,1,3,0,0,298,"[MOVE-TO PLACEHOLDER for #298, WS#1]",, +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,64,0,0,0,1,0,0,5,0,"Hotel #1",9 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,32,0,0,0,1,0,0,8,0,"Offer #1.1",14 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,4,0,0,0,1,0,0,13,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv new file mode 100644 index 000000000000..cff7194b0a22 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Assertion/moveParentContentRecordToDifferentPageAndChangeSorting.csv @@ -0,0 +1,42 @@ +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,5 +,299,-1,512,0,0,0,1,4,0,298,0,"Regular Element #2",0,6 +,300,90,256,0,0,0,1,3,0,0,298,"[MOVE-TO PLACEHOLDER for #298, WS#1]",, +,301,-1,256,0,0,0,1,4,0,297,0,"Regular Element #1",0,"7,8" +,302,90,512,0,0,0,1,3,0,0,297,"[MOVE-TO PLACEHOLDER for #297, WS#1]",, +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2",7 +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1",8 +,6,-1,64,0,0,0,1,0,0,5,0,"Hotel #1",9 +,7,-1,256,0,0,0,1,0,0,3,0,"Hotel #1","10,11" +,8,-1,128,0,0,0,1,0,0,4,0,"Hotel #2",12 +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1",12 +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1",13 +,9,-1,32,0,0,0,1,0,0,8,0,"Offer #1.1",14 +,10,-1,256,0,0,0,1,0,0,5,0,"Offer #1.1","15,16,17" +,11,-1,128,0,0,0,1,0,0,6,0,"Offer #1.2","18,19" +,12,-1,64,0,0,0,1,0,0,7,0,"Offer #2.1",20 +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" +,14,-1,4,0,0,0,1,0,0,13,0,"Price #1.1.1" +,15,-1,256,0,0,0,1,0,0,7,0,"Price #1.1.1" +,16,-1,128,0,0,0,1,0,0,8,0,"Price #1.1.2" +,17,-1,64,0,0,0,1,0,0,9,0,"Price #1.1.3" +,18,-1,32,0,0,0,1,0,0,10,0,"Price #1.2.1" +,19,-1,16,0,0,0,1,0,0,11,0,"Price #1.2.2" +,20,-1,8,0,0,0,1,0,0,12,0,"Price #2.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv new file mode 100644 index 000000000000..3bfb76562253 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultElements.csv @@ -0,0 +1,35 @@ +sys_workspace +,uid,pid,deleted,title,adminusers,members,reviewers,db_mountpoints,file_mountpoints,freeze,live_edit,vtypes,disable_autocreate,swap_modes,publish_access,custom_stages,stagechg_notification,edit_notification_mode,edit_notification_defaults,edit_allow_notificaton_settings,publish_notification_mode,publish_notification_defaults,publish_allow_notificaton_settings +,1,0,0,"Workspace #1",,,,,,0,0,0,0,0,0,0,0,0,,0,0,,0 +,2,0,0,"Workspace #2",,,,,,0,0,0,0,0,0,0,0,0,,0,0,,0 +sys_workspace_stage +,uid,pid,tstamp,deleted,sorting,title,responsible_persons,default_mailcomment,parentid,parenttable,notification_mode,notification_defaults,allow_notificaton_settings +,1,0,1290048921,0,1,"Stage 1",be_users_3,,1,sys_workspace,0,,0 +"sys_language",,,,,,,,,,,,,,, +,"uid","pid","hidden","title","flag",,,,,,,,,, +,1,0,0,"Dansk","dk",,,,,,,,,, +,2,0,0,"Deutsch","de",,,,,,,,,, +tt_content +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,header,image,tx_irretutorial_1ncsv_hotels +,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",,"3,4" +,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",,"5" +tx_irretutorial_1ncsv_hotel +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,offers +,3,89,256,0,0,0,0,0,0,0,0,"Hotel #1","5,6" +,4,89,128,0,0,0,0,0,0,0,0,"Hotel #2","7" +,5,89,64,0,0,0,0,0,0,0,0,"Hotel #1","8" +tx_irretutorial_1ncsv_offer +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title,prices +,5,89,256,0,0,0,0,0,0,0,0,"Offer #1.1","7,8,9" +,6,89,128,0,0,0,0,0,0,0,0,"Offer #1.2","10,11" +,7,89,64,0,0,0,0,0,0,0,0,"Offer #2.1","12" +,8,89,32,0,0,0,0,0,0,0,0,"Offer #1.1","13" +tx_irretutorial_1ncsv_price +,uid,pid,sorting,deleted,sys_language_uid,l18n_parent,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,7,89,256,0,0,0,0,0,0,0,0,"Price #1.1.1" +,8,89,128,0,0,0,0,0,0,0,0,"Price #1.1.2" +,9,89,64,0,0,0,0,0,0,0,0,"Price #1.1.3" +,10,89,32,0,0,0,0,0,0,0,0,"Price #1.2.1" +,11,89,16,0,0,0,0,0,0,0,0,"Price #1.2.2" +,12,89,8,0,0,0,0,0,0,0,0,"Price #2.1.1" +,13,89,4,0,0,0,0,0,0,0,0,"Price #1.1.1" diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv new file mode 100644 index 000000000000..17b04d408c8e --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/DataSet/Scenario/LiveDefaultPages.csv @@ -0,0 +1,6 @@ +pages +,uid,pid,sorting,deleted,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_oid,t3ver_move_id,title +,1,0,256,0,0,0,0,0,0,FunctionalTest +,88,1,256,0,0,0,0,0,0,DataHandlerTest +,89,88,256,0,0,0,0,0,0,Relations +,90,88,512,0,0,0,0,0,0,Target diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/WorkspaceActionTest.php b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/WorkspaceActionTest.php new file mode 100644 index 000000000000..b11fab590702 --- /dev/null +++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/InlineRelationalRecordEditing/CommaSeparatedValue/WorkspaceActionTest.php @@ -0,0 +1,39 @@ +<?php +namespace TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\InlineRelationalRecordEditing\CommaSeparatedValue; + +/*************************************************************** + * Copyright notice + * + * (c) 2014 Oliver Hader <oliver.hader@typo3.org> + * All rights reserved + * + * This script is part of the TYPO3 project. The TYPO3 project is + * free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * The GNU General Public License can be found at + * http://www.gnu.org/copyleft/gpl.html. + * + * This script is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * This copyright notice MUST APPEAR in all copies of the script! + ***************************************************************/ + +require_once dirname(__FILE__) . '/AbstractActionTestCase.php'; + +/** + * Functional test for the DataHandler + */ +class WorkspaceActionTest extends AbstractActionTestCase { + + public function setUp() { + parent::setUp(); + $this->backendUser->workspace = self::VALUE_WorkspaceId; + } + +} -- GitLab