From a89023e360479026b6648843dceaf45fbe3fe37e Mon Sep 17 00:00:00 2001 From: Oliver Hader Date: Tue, 19 Sep 2023 13:05:04 +0200 Subject: [PATCH] [TASK] Ensure package dependencies in functional/acceptance tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change uses the dependency ordering service in the method `\TYPO3\TestingFramework\Core\Testbase::setUpPackageStates` for test scenarios in functional and acceptance tests. Besides that the following changes were applied: * remove invalid dependency in fixture ext:test_configoverride_second * add `PackageStatesTest` to keep track of extension dependencies * add dependency to ext:frontend in ext:form, since it overrides TCA for the tables tt_content and sys_template (which would result in different ext:impexp results due to table field orderings) * recreate IRRE related XML fixtures for ext:impexp since fixture extensions are now ordered alphabetically (and due to #100734) Resolves: #101809 Releases: main, 12.4 Change-Id: I1f91a75ac8aec9db0291b0f5c8bcf7162d5b0082 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81093 Tested-by: core-ci Reviewed-by: Stefan Bürk Tested-by: Stefan Bürk --- composer.json | 2 +- composer.lock | 16 +- .../test_configoverride_second/ext_emconf.php | 5 +- .../Functional/Package/PackageStatesTest.php | 154 +++ typo3/sysext/form/composer.json | 3 +- typo3/sysext/form/ext_emconf.php | 1 + .../Fixtures/XmlExports/irre-records.xml | 912 ++++++++--------- .../Fixtures/XmlImports/irre-records.xml | 938 +++++++++--------- 8 files changed, 1094 insertions(+), 937 deletions(-) create mode 100644 typo3/sysext/core/Tests/Functional/Package/PackageStatesTest.php diff --git a/composer.json b/composer.json index d80da272a770..64ca7374ea53 100644 --- a/composer.json +++ b/composer.json @@ -118,7 +118,7 @@ "sokil/php-isocodes-db-i18n": "^4.0.13", "symfony/translation": "^6.2", "typo3/cms-styleguide": "^12.0.2", - "typo3/testing-framework": "^8.0.5", + "typo3/testing-framework": "^8.0.6", "webmozart/assert": "^1.11.0" }, "suggest": { diff --git a/composer.lock b/composer.lock index 7be6ea35f3ca..f2f344c054d2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e52fd4005a288e97210463682015f7fd", + "content-hash": "11c26e5c4fc58e7cde0befa57fc89d94", "packages": [ { "name": "bacon/bacon-qr-code", @@ -8824,16 +8824,16 @@ }, { "name": "typo3/testing-framework", - "version": "8.0.5", + "version": "8.0.6", "source": { "type": "git", "url": "https://github.com/TYPO3/testing-framework.git", - "reference": "0810cf3f49ba59c240c75a51fb962c830a909d96" + "reference": "70d1174466c339882ab34fad6d5a85763a3a3972" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/0810cf3f49ba59c240c75a51fb962c830a909d96", - "reference": "0810cf3f49ba59c240c75a51fb962c830a909d96", + "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/70d1174466c339882ab34fad6d5a85763a3a3972", + "reference": "70d1174466c339882ab34fad6d5a85763a3a3972", "shasum": "" }, "require": { @@ -8892,9 +8892,9 @@ "support": { "general": "https://typo3.org/support/", "issues": "https://github.com/TYPO3/testing-framework/issues", - "source": "https://github.com/TYPO3/testing-framework/tree/8.0.5" + "source": "https://github.com/TYPO3/testing-framework/tree/8.0.6" }, - "time": "2023-09-03T11:52:11+00:00" + "time": "2023-09-19T17:10:03+00:00" } ], "aliases": [], @@ -8920,5 +8920,5 @@ "platform-overrides": { "php": "8.1.1" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } diff --git a/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_second/ext_emconf.php b/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_second/ext_emconf.php index 799da1e6d841..2bc767538b99 100644 --- a/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_second/ext_emconf.php +++ b/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_second/ext_emconf.php @@ -14,9 +14,10 @@ 'constraints' => [ 'depends' => [ 'typo3' => '12.4.7', - 'a' => '12.4.7', ], 'conflicts' => [], - 'suggests' => [], + 'suggests' => [ + 'test_configoverride_first' => '12.4.7', + ], ], ]; diff --git a/typo3/sysext/core/Tests/Functional/Package/PackageStatesTest.php b/typo3/sysext/core/Tests/Functional/Package/PackageStatesTest.php new file mode 100644 index 000000000000..69c30120f1df --- /dev/null +++ b/typo3/sysext/core/Tests/Functional/Package/PackageStatesTest.php @@ -0,0 +1,154 @@ + [ + 'caching' => [ + 'cacheConfigurations' => [ + // disables caching of package states + 'core' => [ + 'backend' => NullBackend::class, + ], + ], + ], + ], + ]; + + protected function setUp(): void + { + $this->coreExtensionsToLoad = self::CORE_EXTENSION_TO_LOAD; + shuffle($this->coreExtensionsToLoad); + parent::setUp(); + } + + /** + * This test cannot test the complete scenario, since the dependency + * ordering service can only adjust order base on available information. + * + * The "sorting constraints" are a combination of static prioritized packages, the + * corresponding dependencies from `ext_emconf.php` and finally as a fall-back, + * an alphabetic order - which just ensures that the sequence stays the same. + * + * @test + */ + public function activePackagesAreOrderedByPrioritizedPackageKeysOrPackageDependenciesOrAlphabetically(): void + { + $packageManager = $this->get(PackageManager::class); + $activePackages = $packageManager->getActivePackages(); + // @todo this list is still incorrect and requires consolidated `ext_emconf.php` constraints + $expectedKeys = [ + 'core', + 'scheduler', + 'extbase', + 'fluid', + 'frontend', + 'fluid_styled_content', + 'filelist', + 'impexp', + 'form', + 'install', + 'info', + 'linkvalidator', + 'reports', + 'redirects', + 'indexed_search', + 'recycler', + 'setup', + 'rte_ckeditor', + 'adminpanel', + 'backend', + 'belog', + 'beuser', + 'dashboard', + 'extensionmanager', + 'felogin', + 'filemetadata', + 'lowlevel', + 'opendocs', + 'reactions', + 'seo', + 'sys_note', + 't3editor', + 'tstemplate', + 'viewpage', + 'webhooks', + 'workspaces', + ]; + + self::assertSame( + $expectedKeys, + // use the order of `$activePackages`, but only pass those values of `$expectedKeys` + array_values( + array_intersect( + array_keys($activePackages), + $expectedKeys + ) + ), + ); + } +} diff --git a/typo3/sysext/form/composer.json b/typo3/sysext/form/composer.json index bc37776788f3..5faf26e62245 100644 --- a/typo3/sysext/form/composer.json +++ b/typo3/sysext/form/composer.json @@ -21,7 +21,8 @@ "require": { "psr/http-message": "^1.1 || ^2.0", "symfony/expression-language": "^6.2", - "typo3/cms-core": "12.4.*@dev" + "typo3/cms-core": "12.4.*@dev", + "typo3/cms-frontend": "12.4.*@dev" }, "suggest": { "typo3/cms-filelist": "Listing of files in the directory", diff --git a/typo3/sysext/form/ext_emconf.php b/typo3/sysext/form/ext_emconf.php index ac1419e10e1d..428021c8fa9f 100644 --- a/typo3/sysext/form/ext_emconf.php +++ b/typo3/sysext/form/ext_emconf.php @@ -12,6 +12,7 @@ 'constraints' => [ 'depends' => [ 'typo3' => '12.4.7', + 'frontend' => '12.4.7', ], 'conflicts' => [], 'suggests' => [ diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/irre-records.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/irre-records.xml index 0bd25403ffde..47e7575e5990 100644 --- a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/irre-records.xml +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/irre-records.xml @@ -140,19 +140,19 @@ - +
1 1 - Hotel 1 (m:n (MM) ASym) + Hotel 1 (nff) - + 1 -
tx_testirremm_offer
+ tx_testirreforeignfield_offer
- + 2 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
@@ -160,25 +160,29 @@ 2 1 - Hotel 2 (m:n (MM) ASym) + Hotel 2 (nff) - + 3 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
- - - 3 +
+ + 1 1 - Offer 2.1 (m:n (MM) ASym) + Offer 1.1 (nff) - - 3 -
tx_testirremm_price
+ + 1 + tx_testirreforeignfield_price
+
+ + 2 + tx_testirreforeignfield_price
@@ -186,106 +190,71 @@ 2 1 - Offer 1.2 (m:n (MM) ASym) + Offer 1.2 (nff) - - 2 - tx_testirremm_price
+ + 3 + tx_testirreforeignfield_price
- - 1 + + 3 1 - Offer 1.1 (m:n (MM) ASym) + Offer 2.1 (nff) - - 1 - tx_testirremm_price
+ + 4 + tx_testirreforeignfield_price
- - - 3 - 1 - Price (m:n (MM) ASym) - - - - - 2 - 1 - Price 1.2.2 (m:n (MM) ASym) - - - +
1 1 - Price 1.1.1 (m:n (MM) ASym) + Price 1.1.1 (nff) -
- 2 1 - Hotel Branch 1.1 (mm sym) - - - 1 -
tx_testirremnsymmetric_hotel_rel
-
- + Price 1.1.2 (nff) + 3 1 - Hotel branch 1.2 (mm sym) - - - 2 - tx_testirremnsymmetric_hotel_rel
-
-
+ Price 1.2.1 (nff) +
- - 1 + + 4 1 - Hotel 1 (mm sym) - - - 1 - tx_testirremnsymmetric_hotel_rel
-
- - 2 - tx_testirremnsymmetric_hotel_rel
-
-
+ Price 2.1.1 (nff) +
- +
1 1 - 1 + Hotel 1 (m:n (MM) ASym) - + 1 -
tx_testirremnsymmetric_hotel
+ tx_testirremm_offer
- + 2 - tx_testirremnsymmetric_hotel
+ tx_testirremm_offer
@@ -293,33 +262,25 @@ 2 1 - 2 + Hotel 2 (m:n (MM) ASym) - - 1 - tx_testirremnsymmetric_hotel
-
- + 3 - tx_testirremnsymmetric_hotel
+ tx_testirremm_offer
- - - 1 +
+ + 3 1 - Hotel 1 (nff) + Offer 2.1 (m:n (MM) ASym) - - 1 -
tx_testirreforeignfield_offer
-
- - 2 - tx_testirreforeignfield_offer
+ + 3 + tx_testirremm_price
@@ -327,84 +288,47 @@ 2 1 - Hotel 2 (nff) + Offer 1.2 (m:n (MM) ASym) - - 3 - tx_testirreforeignfield_offer
+ + 2 + tx_testirremm_price
- - 1 1 - Offer 1.1 (nff) + Offer 1.1 (m:n (MM) ASym) - + 1 -
tx_testirreforeignfield_price
-
- - 2 - tx_testirreforeignfield_price
-
- - -
- - 2 - 1 - Offer 1.2 (nff) - - - 3 - tx_testirreforeignfield_price
+ tx_testirremm_price
+ + 3 1 - Offer 2.1 (nff) - - - 4 -
tx_testirreforeignfield_price
- - - - - - - - 1 - 1 - Price 1.1.1 (nff) + Price (m:n (MM) ASym) 2 1 - Price 1.1.2 (nff) - - - - - 3 - 1 - Price 1.2.1 (nff) + Price 1.2.2 (m:n (MM) ASym) - - 4 + + 1 1 - Price 2.1.1 (nff) + Price 1.1.1 (m:n (MM) ASym) @@ -597,53 +521,106 @@
- - - - - 1 -
-
- - - 1 -
- - 1 - 1 -
- - 1 - 1 - 1 -
- - 1 - 1 - 1 -
- - 1 - 1 -
- - 1 - 1 - 1 -
- - 1 - 1 - 1 -
- +
+ + 2 + 1 + Hotel Branch 1.1 (mm sym) + + + 1 +
tx_testirremnsymmetric_hotel_rel
+ + + + + + 3 + 1 + Hotel branch 1.2 (mm sym) + + + 2 + tx_testirremnsymmetric_hotel_rel
+
+
+ +
+ + 1 + 1 + Hotel 1 (mm sym) + + + 1 + tx_testirremnsymmetric_hotel_rel
+
+ + 2 + tx_testirremnsymmetric_hotel_rel
+
+
+ +
+ + + + 1 + 1 + 1 + + + 1 +
tx_testirremnsymmetric_hotel
+ + + 2 + tx_testirremnsymmetric_hotel
+
+ + + + + 2 + 1 + 2 + + + 1 + tx_testirremnsymmetric_hotel
+
+ + 3 + tx_testirremnsymmetric_hotel
+
+
+ +
+ + + + + + 1 +
+
+ + + 1 +
+ 1 - 11
- +
+ 1 + 11 +
+ + 11 + 1
1 @@ -660,6 +637,20 @@ 11
+ + 1 + 1 +
+ + 1 + 1 + 1 +
+ + 1 + 1 + 1 +
1
@@ -687,6 +678,15 @@ 1 1 + + 1 + 1 + 1 +
+ + 1 + 1 +
@@ -910,16 +910,19 @@ - + 1 1 0 0 - 256 + 1 0 0 - Hotel 1 (m:n (MM) ASym) + 1 + tt_content + 1nff.hotels + Hotel 1 (nff) 2 @@ -928,26 +931,29 @@ 1 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
2 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
- + 2 1 0 0 - 512 + 2 0 0 - Hotel 2 (m:n (MM) ASym) + 1 + tt_content + 1nff.hotels + Hotel 2 (nff) 1 @@ -956,48 +962,56 @@ 3 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
- + - 3 + 1 1 0 0 - 64 + 1 0 0 - Offer 2.1 (m:n (MM) ASym) - 0 - 1 + 1 + tx_testirreforeignfield_hotel + + Offer 1.1 (nff) + 2 db - 3 - tx_testirremm_price
+ 1 + tx_testirreforeignfield_price
+
+ + 2 + tx_testirreforeignfield_price
- + 2 1 0 0 - 128 + 2 0 0 - Offer 1.2 (m:n (MM) ASym) - 0 + 1 + tx_testirreforeignfield_hotel + + Offer 1.2 (nff) 1 @@ -1005,24 +1019,26 @@ db - 2 - tx_testirremm_price
+ 3 + tx_testirreforeignfield_price
- + - 1 + 3 1 0 0 - 256 + 3 0 0 - Offer 1.1 (m:n (MM) ASym) - 0 + 2 + tx_testirreforeignfield_hotel + + Offer 2.1 (nff) 1 @@ -1030,107 +1046,82 @@ db - 1 - tx_testirremm_price
+ 4 + tx_testirreforeignfield_price
- + - 3 + 1 1 0 0 - 64 + 1 0 0 - Price (m:n (MM) ASym) - 223.00 - 0 + 1 + tx_testirreforeignfield_offer + + Price 1.1.1 (nff) + 4.00 - + 2 1 0 0 - 128 + 2 0 0 - Price 1.2.2 (m:n (MM) ASym) - 567.00 - 0 + 1 + tx_testirreforeignfield_offer + + Price 1.1.2 (nff) + 869.00 - + - 1 + 3 1 0 0 - 256 + 3 0 0 - Price 1.1.1 (m:n (MM) ASym) - 567.00 - 0 + 2 + tx_testirreforeignfield_offer + + Price 1.2.1 (nff) + 678.00 - - - 2 - 1 - 0 - 0 - 128 - 0 - 0 - Hotel Branch 1.1 (mm sym) - 1 - - - - db - - - 1 - tx_testirremnsymmetric_hotel_rel
-
-
-
-
-
- + - 3 + 4 1 0 0 - 192 + 4 0 0 - Hotel branch 1.2 (mm sym) - 0 + 3 + tx_testirreforeignfield_offer + + Price 2.1.1 (nff) + 5467567.00 - - - db - - - 2 - tx_testirremnsymmetric_hotel_rel
-
-
-
-
+
- + 1 1 @@ -1139,106 +1130,7 @@ 256 0 0 - Hotel 1 (mm sym) - 2 - - - - db - - - 1 - tx_testirremnsymmetric_hotel_rel
-
- - 2 - tx_testirremnsymmetric_hotel_rel
-
-
-
-
-
- - - 1 - 1 - 0 - 0 - 0 - 0 - 1 - 2 - 1 - 1 - - - - db - - - 1 - tx_testirremnsymmetric_hotel
-
-
-
- - db - - - 2 - tx_testirremnsymmetric_hotel
-
-
-
-
-
- - - 2 - 1 - 0 - 0 - 0 - 0 - 1 - 3 - 2 - 0 - - - - db - - - 1 - tx_testirremnsymmetric_hotel
-
-
-
- - db - - - 3 - tx_testirremnsymmetric_hotel
-
-
-
-
-
- - - 1 - 1 - 0 - 0 - 1 - 0 - 0 - 1 - tt_content - 1nff.hotels - Hotel 1 (nff) + Hotel 1 (m:n (MM) ASym) 2 @@ -1247,29 +1139,26 @@ 1 - tx_testirreforeignfield_offer
+ tx_testirremm_offer
2 - tx_testirreforeignfield_offer
+ tx_testirremm_offer
- + 2 1 0 0 - 2 + 512 0 0 - 1 - tt_content - 1nff.hotels - Hotel 2 (nff) + Hotel 2 (m:n (MM) ASym) 1 @@ -1278,56 +1167,48 @@ 3 - tx_testirreforeignfield_offer
+ tx_testirremm_offer
- + - 1 + 3 1 0 0 - 1 + 64 0 0 - 1 - tx_testirreforeignfield_hotel - - Offer 1.1 (nff) - 2 + Offer 2.1 (m:n (MM) ASym) + 0 + 1 db - 1 - tx_testirreforeignfield_price
-
- - 2 - tx_testirreforeignfield_price
+ 3 + tx_testirremm_price
- + 2 1 0 0 - 2 + 128 0 0 - 1 - tx_testirreforeignfield_hotel - - Offer 1.2 (nff) + Offer 1.2 (m:n (MM) ASym) + 0 1 @@ -1335,26 +1216,24 @@ db - 3 - tx_testirreforeignfield_price
+ 2 + tx_testirremm_price
- + - 3 + 1 1 0 0 - 3 + 256 0 0 - 2 - tx_testirreforeignfield_hotel - - Offer 2.1 (nff) + Offer 1.1 (m:n (MM) ASym) + 0 1 @@ -1362,78 +1241,55 @@ db - 4 - tx_testirreforeignfield_price
+ 1 + tx_testirremm_price
- + - 1 + 3 1 0 0 - 1 + 64 0 0 - 1 - tx_testirreforeignfield_offer - - Price 1.1.1 (nff) - 4.00 + Price (m:n (MM) ASym) + 223.00 + 0 - + 2 1 0 0 - 2 - 0 - 0 - 1 - tx_testirreforeignfield_offer - - Price 1.1.2 (nff) - 869.00 - - - - - - 3 - 1 - 0 - 0 - 3 + 128 0 0 - 2 - tx_testirreforeignfield_offer - - Price 1.2.1 (nff) - 678.00 + Price 1.2.2 (m:n (MM) ASym) + 567.00 + 0 - + - 4 + 1 1 0 0 - 4 + 256 0 0 - 3 - tx_testirreforeignfield_offer - - Price 2.1.1 (nff) - 5467567.00 + Price 1.1.1 (m:n (MM) ASym) + 567.00 + 0 @@ -1799,5 +1655,149 @@ + + + 2 + 1 + 0 + 0 + 128 + 0 + 0 + Hotel Branch 1.1 (mm sym) + 1 + + + + db + + + 1 + tx_testirremnsymmetric_hotel_rel
+
+
+
+
+
+ + + 3 + 1 + 0 + 0 + 192 + 0 + 0 + Hotel branch 1.2 (mm sym) + 0 + + + + db + + + 2 + tx_testirremnsymmetric_hotel_rel
+
+
+
+
+
+ + + 1 + 1 + 0 + 0 + 256 + 0 + 0 + Hotel 1 (mm sym) + 2 + + + + db + + + 1 + tx_testirremnsymmetric_hotel_rel
+
+ + 2 + tx_testirremnsymmetric_hotel_rel
+
+
+
+
+
+ + + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 2 + 1 + 1 + + + + db + + + 1 + tx_testirremnsymmetric_hotel
+
+
+
+ + db + + + 2 + tx_testirremnsymmetric_hotel
+
+
+
+
+
+ + + 2 + 1 + 0 + 0 + 0 + 0 + 1 + 3 + 2 + 0 + + + + db + + + 1 + tx_testirremnsymmetric_hotel
+
+
+
+ + db + + + 3 + tx_testirremnsymmetric_hotel
+
+
+
+
+
\ No newline at end of file diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml index c42f9ecbd8e2..a0f0b0c7c855 100644 --- a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml @@ -140,19 +140,19 @@ - +
1 1 - Hotel 1 (m:n (MM) ASym) + Hotel 1 (nff) - + 1 -
tx_testirremm_offer
+ tx_testirreforeignfield_offer
- + 2 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
@@ -160,132 +160,101 @@ 2 1 - Hotel 2 (m:n (MM) ASym) + Hotel 2 (nff) - + 3 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
- - - 3 +
+ + 1 1 - Offer 2.1 (m:n (MM) ASym) + Offer 1.1 (nff) - - 3 -
tx_testirremm_price
+ + 1 + tx_testirreforeignfield_price
+
+ + 2 + tx_testirreforeignfield_price
- - 2 + + 3 1 - Offer 1.2 (m:n (MM) ASym) + Offer 2.1 (nff) - - 2 - tx_testirremm_price
+ + 4 + tx_testirreforeignfield_price
- - 1 + + 2 1 - Offer 1.1 (m:n (MM) ASym) + Offer 1.2 (nff) - - 1 - tx_testirremm_price
+ + 3 + tx_testirreforeignfield_price
- - - 3 +
+ + 1 1 - Price (m:n (MM) ASym) + Price 1.1.1 (nff) - - 2 + + 3 1 - Price 1.2.2 (m:n (MM) ASym) + Price 1.2.1 (nff) - - 1 + + 4 1 - Price 1.1.1 (m:n (MM) ASym) + Price 2.1.1 (nff) -
- 2 1 - Hotel Branch 1.1 (mm sym) - - - 1 -
tx_testirremnsymmetric_hotel_rel
-
- - - - - 3 - 1 - Hotel branch 1.2 (mm sym) - - - 2 - tx_testirremnsymmetric_hotel_rel
-
-
- -
- - 1 - 1 - Hotel 1 (mm sym) - - - 1 - tx_testirremnsymmetric_hotel_rel
-
- - 2 - tx_testirremnsymmetric_hotel_rel
-
-
+ Price 1.1.2 (nff) +
- +
1 1 - 1 + Hotel 1 (m:n (MM) ASym) - + 1 -
tx_testirremnsymmetric_hotel
+ tx_testirremm_offer
- + 2 - tx_testirremnsymmetric_hotel
+ tx_testirremm_offer
@@ -293,33 +262,25 @@ 2 1 - 2 + Hotel 2 (m:n (MM) ASym) - - 1 - tx_testirremnsymmetric_hotel
-
- + 3 - tx_testirremnsymmetric_hotel
+ tx_testirremm_offer
- - - 1 +
+ + 3 1 - Hotel 1 (nff) + Offer 2.1 (m:n (MM) ASym) - - 1 -
tx_testirreforeignfield_offer
-
- - 2 - tx_testirreforeignfield_offer
+ + 3 + tx_testirremm_price
@@ -327,84 +288,47 @@ 2 1 - Hotel 2 (nff) + Offer 1.2 (m:n (MM) ASym) - - 3 - tx_testirreforeignfield_offer
+ + 2 + tx_testirremm_price
- - 1 1 - Offer 1.1 (nff) + Offer 1.1 (m:n (MM) ASym) - + 1 -
tx_testirreforeignfield_price
-
- - 2 - tx_testirreforeignfield_price
+ tx_testirremm_price
+ + 3 1 - Offer 2.1 (nff) - - - 4 -
tx_testirreforeignfield_price
- - + Price (m:n (MM) ASym) + 2 1 - Offer 1.2 (nff) - - - 3 - tx_testirreforeignfield_price
-
-
+ Price 1.2.2 (m:n (MM) ASym) +
- - 1 1 - Price 1.1.1 (nff) - - - - - 3 - 1 - Price 1.2.1 (nff) - - - - - 4 - 1 - Price 2.1.1 (nff) - - - - - 2 - 1 - Price 1.1.2 (nff) + Price 1.1.1 (m:n (MM) ASym) @@ -597,53 +521,106 @@
- - - - - 1 -
-
- - - 1 -
- - 1 - 1 -
- - 1 - 1 - 1 -
- - 1 - 1 - 1 -
- - 1 - 1 -
- - 1 - 1 +
+ + 2 + 1 + Hotel Branch 1.1 (mm sym) + + + 1 +
tx_testirremnsymmetric_hotel_rel
+ + + + + + 3 + 1 + Hotel branch 1.2 (mm sym) + + + 2 + tx_testirremnsymmetric_hotel_rel
+
+
+ +
+ + 1 + 1 + Hotel 1 (mm sym) + + + 1 + tx_testirremnsymmetric_hotel_rel
+
+ + 2 + tx_testirremnsymmetric_hotel_rel
+
+
+ +
+ + + + 1 + 1 + 1 + + + 1 +
tx_testirremnsymmetric_hotel
+ + + 2 + tx_testirremnsymmetric_hotel
+
+ + + + + 2 + 1 + 2 + + + 1 + tx_testirremnsymmetric_hotel
+
+ + 3 + tx_testirremnsymmetric_hotel
+
+
+ +
+ + + + + 1
- - 1 - 1 + + +
1
- +
1 - 11
- +
+ 1 + 11 +
+ + 11 + 1
1 @@ -660,6 +637,20 @@ 11
+ + 1 + 1 +
+ + 1 + 1 + 1 +
+ + 1 + 1 + 1 +
1
@@ -687,6 +678,15 @@ 1 1 + + 1 + 1 + 1 +
+ + 1 + 1 +
@@ -910,16 +910,19 @@
- + 1 1 0 0 - 128 + 1 0 0 - Hotel 1 (m:n (MM) ASym) + 1 + tt_content + 1nff.hotels + Hotel 1 (nff) 2 @@ -928,26 +931,29 @@ 1 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
2 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
- + 2 1 0 0 - 256 + 2 0 0 - Hotel 2 (m:n (MM) ASym) + 1 + tt_content + 1nff.hotels + Hotel 2 (nff) 1 @@ -956,48 +962,56 @@ 3 - tx_testirremm_offer
+ tx_testirreforeignfield_offer
- + - 3 + 1 1 0 0 - 64 + 1 0 0 - Offer 2.1 (m:n (MM) ASym) - 0 - 1 + 1 + tx_testirreforeignfield_hotel + + Offer 1.1 (nff) + 2 db - 3 - tx_testirremm_price
+ 1 + tx_testirreforeignfield_price
+
+ + 2 + tx_testirreforeignfield_price
- + - 2 + 3 1 0 0 - 128 + 1 0 0 - Offer 1.2 (m:n (MM) ASym) - 0 + 2 + tx_testirreforeignfield_hotel + + Offer 2.1 (nff) 1 @@ -1005,24 +1019,26 @@ db - 2 - tx_testirremm_price
+ 4 + tx_testirreforeignfield_price
- + - 1 + 2 1 0 0 - 256 + 2 0 0 - Offer 1.1 (m:n (MM) ASym) - 0 + 1 + tx_testirreforeignfield_hotel + + Offer 1.2 (nff) 1 @@ -1030,215 +1046,91 @@ db - 1 - tx_testirremm_price
+ 3 + tx_testirreforeignfield_price
- - - 3 - 1 - 0 - 0 - 64 - 0 - 0 - Price (m:n (MM) ASym) - 223.00 - 0 - - - - - - 2 - 1 - 0 - 0 - 128 - 0 - 0 - Price 1.2.2 (m:n (MM) ASym) - 567.00 - 0 - - - - + 1 1 0 0 - 256 + 1 0 0 - Price 1.1.1 (m:n (MM) ASym) - 567.00 - 0 + 1 + tx_testirreforeignfield_offer + + Price 1.1.1 (nff) + 4.00 - - - 2 - 1 - 0 - 0 - 64 - 0 - 0 - Hotel Branch 1.1 (mm sym) - 1 - - - - db - - - 1 - tx_testirremnsymmetric_hotel_rel
-
-
-
-
-
- + 3 1 0 0 - 128 - 0 - 0 - Hotel branch 1.2 (mm sym) - 1 - - - - db - - - 2 - tx_testirremnsymmetric_hotel_rel
-
-
-
-
-
- - - 1 - 1 - 0 - 0 - 256 + 1 0 0 - Hotel 1 (mm sym) - 2 + 2 + tx_testirreforeignfield_offer + + Price 1.2.1 (nff) + 678.00 - - - db - - - 1 - tx_testirremnsymmetric_hotel_rel
-
- - 2 - tx_testirremnsymmetric_hotel_rel
-
-
-
-
+
- + - 1 + 4 1 0 0 + 1 0 0 - 1 - 2 - 1 - 1 + 3 + tx_testirreforeignfield_offer + + Price 2.1.1 (nff) + 5467567.00 - - - db - - - 1 - tx_testirremnsymmetric_hotel
-
-
-
- - db - - - 2 - tx_testirremnsymmetric_hotel
-
-
-
-
+
- + 2 1 0 0 + 2 0 0 - 1 - 3 - 2 - 0 + 1 + tx_testirreforeignfield_offer + + Price 1.1.2 (nff) + 869.00 - - - db - - - 1 - tx_testirremnsymmetric_hotel
-
-
-
- - db - - - 3 - tx_testirremnsymmetric_hotel
-
-
-
-
+
- + 1 1 0 0 - 1 + 128 0 0 - 1 - tt_content - 1nff.hotels - Hotel 1 (nff) + Hotel 1 (m:n (MM) ASym) 2 @@ -1247,87 +1139,51 @@ 1 - tx_testirreforeignfield_offer
+ tx_testirremm_offer
2 - tx_testirreforeignfield_offer
-
-
- -
-
- - - 2 - 1 - 0 - 0 - 2 - 0 - 0 - 1 - tt_content - 1nff.hotels - Hotel 2 (nff) - 1 - - - - db - - - 3 - tx_testirreforeignfield_offer
+ tx_testirremm_offer
- + - 1 + 2 1 0 0 - 1 + 256 0 0 - 1 - tx_testirreforeignfield_hotel - - Offer 1.1 (nff) - 2 + Hotel 2 (m:n (MM) ASym) + 1 - + db - 1 - tx_testirreforeignfield_price
-
- - 2 - tx_testirreforeignfield_price
+ 3 + tx_testirremm_offer
- + 3 1 0 0 - 1 + 64 0 0 - 2 - tx_testirreforeignfield_hotel - - Offer 2.1 (nff) + Offer 2.1 (m:n (MM) ASym) + 0 1 @@ -1335,26 +1191,24 @@ db - 4 - tx_testirreforeignfield_price
+ 3 + tx_testirremm_price
- + 2 1 0 0 - 2 + 128 0 0 - 1 - tx_testirreforeignfield_hotel - - Offer 1.2 (nff) + Offer 1.2 (m:n (MM) ASym) + 0 1 @@ -1362,78 +1216,80 @@ db - 3 - tx_testirreforeignfield_price
+ 2 + tx_testirremm_price
- + 1 1 0 0 - 1 + 256 0 0 - 1 - tx_testirreforeignfield_offer - - Price 1.1.1 (nff) - 4.00 + Offer 1.1 (m:n (MM) ASym) + 0 + 1 - + + + db + + + 1 + tx_testirremm_price
+
+
+
+
- + 3 1 0 0 - 1 + 64 0 0 - 2 - tx_testirreforeignfield_offer - - Price 1.2.1 (nff) - 678.00 + Price (m:n (MM) ASym) + 223.00 + 0 - + - 4 + 2 1 0 0 - 1 + 128 0 0 - 3 - tx_testirreforeignfield_offer - - Price 2.1.1 (nff) - 5467567.00 + Price 1.2.2 (m:n (MM) ASym) + 567.00 + 0 - + - 2 + 1 1 0 0 - 2 + 256 0 0 - 1 - tx_testirreforeignfield_offer - - Price 1.1.2 (nff) - 869.00 + Price 1.1.1 (m:n (MM) ASym) + 567.00 + 0 @@ -1799,5 +1655,149 @@ + + + 2 + 1 + 0 + 0 + 64 + 0 + 0 + Hotel Branch 1.1 (mm sym) + 1 + + + + db + + + 1 + tx_testirremnsymmetric_hotel_rel
+
+
+
+
+
+ + + 3 + 1 + 0 + 0 + 128 + 0 + 0 + Hotel branch 1.2 (mm sym) + 1 + + + + db + + + 2 + tx_testirremnsymmetric_hotel_rel
+
+
+
+
+
+ + + 1 + 1 + 0 + 0 + 256 + 0 + 0 + Hotel 1 (mm sym) + 2 + + + + db + + + 1 + tx_testirremnsymmetric_hotel_rel
+
+ + 2 + tx_testirremnsymmetric_hotel_rel
+
+
+
+
+
+ + + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 2 + 1 + 1 + + + + db + + + 1 + tx_testirremnsymmetric_hotel
+
+
+
+ + db + + + 2 + tx_testirremnsymmetric_hotel
+
+
+
+
+
+ + + 2 + 1 + 0 + 0 + 0 + 0 + 1 + 3 + 2 + 0 + + + + db + + + 1 + tx_testirremnsymmetric_hotel
+
+
+
+ + db + + + 3 + tx_testirremnsymmetric_hotel
+
+
+
+
+
\ No newline at end of file