From fe367256c32a90634d2cc3b0837e96ee2119a954 Mon Sep 17 00:00:00 2001 From: Stephen Cox Date: Wed, 9 Apr 2025 16:24:24 +0100 Subject: [PATCH 1/8] Drupal 11 support --- composer.json | 2 +- localgov_forms.info.yml | 2 +- modules/localgov_forms_date/localgov_forms_date.info.yml | 2 +- .../localgov_forms_decision_tree.info.yml | 2 +- .../localgov_forms_example_liberty_create_integration.info.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 79fc48b..aa83445 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,7 @@ "license": "GPL-2.0-or-later", "minimum-stability": "dev", "require": { - "drupal/webform": "^6.0", + "drupal/webform": "^6.3@beta", "drupal/geocoder": "^3.44 || ^4.21", "localgovdrupal/localgov_os_places_geocoder_provider": "1.x-dev" }, diff --git a/localgov_forms.info.yml b/localgov_forms.info.yml index 45db5fc..99ca586 100644 --- a/localgov_forms.info.yml +++ b/localgov_forms.info.yml @@ -1,7 +1,7 @@ name: LocalGov Forms type: module description: Provides additional configuration, styling and components for the Drupal Webform module. -core_version_requirement: ^8.8 || ^9 || ^10 +core_version_requirement: ^10 || ^11 package: LocalGov Drupal dependencies: diff --git a/modules/localgov_forms_date/localgov_forms_date.info.yml b/modules/localgov_forms_date/localgov_forms_date.info.yml index a260d91..1c69753 100644 --- a/modules/localgov_forms_date/localgov_forms_date.info.yml +++ b/modules/localgov_forms_date/localgov_forms_date.info.yml @@ -2,7 +2,7 @@ name: 'LocalGov Forms: Date' type: module description: 'A custom Date component' package: LocalGov Drupal -core_version_requirement: ^8 || ^9 || ^10 +core_version_requirement: ^10 || ^11 dependencies: - 'webform:webform' - 'localgov_forms:localgov_forms' diff --git a/modules/localgov_forms_decision_tree/localgov_forms_decision_tree.info.yml b/modules/localgov_forms_decision_tree/localgov_forms_decision_tree.info.yml index 27ad7ad..1ab1832 100644 --- a/modules/localgov_forms_decision_tree/localgov_forms_decision_tree.info.yml +++ b/modules/localgov_forms_decision_tree/localgov_forms_decision_tree.info.yml @@ -2,6 +2,6 @@ name: LocalGov Forms Demo Decision Tree type: module description: Demo of creating a decision tree with Drupal's webform module. package: LocalGov Drupal Examples -core_version_requirement: ^9 || ^10 +core_version_requirement: ^10 || ^11 dependencies: - 'webform:webform' diff --git a/modules/localgov_forms_example_liberty_create_integration/localgov_forms_example_liberty_create_integration.info.yml b/modules/localgov_forms_example_liberty_create_integration/localgov_forms_example_liberty_create_integration.info.yml index 1f2a869..33162fc 100644 --- a/modules/localgov_forms_example_liberty_create_integration/localgov_forms_example_liberty_create_integration.info.yml +++ b/modules/localgov_forms_example_liberty_create_integration/localgov_forms_example_liberty_create_integration.info.yml @@ -1,7 +1,7 @@ name: LocalGov Forms example Liberty Create integration type: module description: Liberty Create API integration example. -core_version_requirement: ^10 +core_version_requirement: ^10 || ^11 package: LocalGov Drupal dependencies: From 2c8a51fa856093bf99fbfba4edea723d6ecb129b Mon Sep 17 00:00:00 2001 From: Stephen Cox Date: Wed, 9 Apr 2025 16:35:26 +0100 Subject: [PATCH 2/8] Add Drupal 11 support for test modules --- tests/modules/localgov_forms_test/localgov_forms_test.info.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/modules/localgov_forms_test/localgov_forms_test.info.yml b/tests/modules/localgov_forms_test/localgov_forms_test.info.yml index 2038f32..4fc72eb 100644 --- a/tests/modules/localgov_forms_test/localgov_forms_test.info.yml +++ b/tests/modules/localgov_forms_test/localgov_forms_test.info.yml @@ -2,7 +2,7 @@ name: 'Localgov form test' description: 'Helper module to setup a Contact webform.' type: module package: Testing -core_version_requirement: ^8.8 || ^9 || ^10 +core_version_requirement: ^10 || ^11 dependencies: - webform:webform From 54a77778a2d25bcbca20ba01df661f4b1bbfbc5b Mon Sep 17 00:00:00 2001 From: Stephen Cox Date: Wed, 9 Apr 2025 16:38:42 +0100 Subject: [PATCH 3/8] Add Drupal 11 support for test modules --- .../localgov_forms_date_test/localgov_forms_date_test.info.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/localgov_forms_date/tests/modules/localgov_forms_date_test/localgov_forms_date_test.info.yml b/modules/localgov_forms_date/tests/modules/localgov_forms_date_test/localgov_forms_date_test.info.yml index de62dbe..7881eb8 100644 --- a/modules/localgov_forms_date/tests/modules/localgov_forms_date_test/localgov_forms_date_test.info.yml +++ b/modules/localgov_forms_date/tests/modules/localgov_forms_date_test/localgov_forms_date_test.info.yml @@ -2,7 +2,7 @@ name: 'Localgov form date test' description: 'Helper module to setup a webform with a localgov_forms_date field.' type: module package: Testing -core_version_requirement: ^8.8 || ^9 || ^10 +core_version_requirement: ^10 || ^11 dependencies: - webform:webform From ff46e19ef9b120174d98292dabadcd8e73fc7bbe Mon Sep 17 00:00:00 2001 From: Stephen Cox Date: Tue, 29 Apr 2025 11:03:24 +0100 Subject: [PATCH 4/8] Require Webform ^6.2 || ^6.3@beta --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index aa83445..4cfb350 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,7 @@ "license": "GPL-2.0-or-later", "minimum-stability": "dev", "require": { - "drupal/webform": "^6.3@beta", + "drupal/webform": "^6.2 || ^6.3@beta", "drupal/geocoder": "^3.44 || ^4.21", "localgovdrupal/localgov_os_places_geocoder_provider": "1.x-dev" }, From afa7328ef067d4ef71cc10875fe7ae9c34bdd2d8 Mon Sep 17 00:00:00 2001 From: Stephen Cox Date: Tue, 29 Apr 2025 12:06:56 +0100 Subject: [PATCH 5/8] Fix failing tests --- .../tests/src/Kernel/DateWebformElementTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/localgov_forms_date/tests/src/Kernel/DateWebformElementTest.php b/modules/localgov_forms_date/tests/src/Kernel/DateWebformElementTest.php index b529afd..f6c09ca 100644 --- a/modules/localgov_forms_date/tests/src/Kernel/DateWebformElementTest.php +++ b/modules/localgov_forms_date/tests/src/Kernel/DateWebformElementTest.php @@ -34,8 +34,10 @@ protected function passCase(): void { $form_state->setValue('date', ['day' => '1', 'month' => '1', 'year' => '1']); $form_state->setValue('op', 'Submission'); + $form_state->setValue('submit', 'Submit'); - $this->container->get('form_builder')->submitForm(clone($this->testForm), $form_state); + $test_form = clone($this->testForm); + $this->container->get('form_builder')->submitForm($test_form, $form_state); $this->assertEmpty($form_state->getErrors()); } @@ -89,12 +91,10 @@ protected function setUp(): void { $this->installEntitySchema('user'); $this->installEntitySchema('path_alias'); - $this->installSchema('webform', ['webform']); - $this->installConfig('system'); + $this->installConfig('webform'); $this->installConfig('localgov_forms_date_test'); - $this->installConfig('localgov_forms_date'); $empty_submission = WebformSubmission::create(['webform_id' => 'date_test']); From d8c64bb9df6afd677f4033769a6a5de22c07c5b2 Mon Sep 17 00:00:00 2001 From: Stephen Cox Date: Tue, 29 Apr 2025 12:48:16 +0100 Subject: [PATCH 6/8] Fix failing tests --- .../src/Driver/Database/FakeLts/Connection.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php b/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php index 724d325..5e67d33 100644 --- a/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php +++ b/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php @@ -4,6 +4,8 @@ namespace Drupal\localgov_forms_test\Driver\Database\FakeLts; +use Drupal\Core\Database\Transaction\TransactionManagerInterface; +use Drupal\mysql\Driver\Database\mysql\TransactionManager; use Drupal\Tests\Core\Database\Stub\StubConnection; use Drupal\Tests\Core\Database\Stub\StubPDO; @@ -29,4 +31,11 @@ public static function open(array &$connection_options = []) { return new StubPDO(); } + /** + * {@inheritdoc} + */ + protected function driverTransactionManager(): TransactionManagerInterface { + return new TransactionManager($this); + } + } From 363d35348127612a507f024a5a377df0a74aff5b Mon Sep 17 00:00:00 2001 From: ekes Date: Tue, 6 May 2025 11:27:17 +0200 Subject: [PATCH 7/8] Testing suggestion by @adnan-cds https://github.com/localgovdrupal/localgov_forms/pull/115/commits/d8c64bb9df6afd677f4033769a6a5de22c07c5b2#r2071719954 Underlying issue https://www.drupal.org/project/drupal/issues/2245905 --- .../src/Driver/Database/FakeLts/Connection.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php b/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php index 5e67d33..a47bf69 100644 --- a/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php +++ b/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php @@ -38,4 +38,11 @@ protected function driverTransactionManager(): TransactionManagerInterface { return new TransactionManager($this); } + /** + * {@inheritdoc} + * + * Work-around for avoiding TransactionManager usage. + */ + public function commitAll() {} + } From 6621e5fa33e5c40fe9a6d2a7214e74eddb2860ce Mon Sep 17 00:00:00 2001 From: ekes Date: Tue, 6 May 2025 11:37:55 +0200 Subject: [PATCH 8/8] Fix seems to work. Correcting PHP CS. --- .../src/Driver/Database/FakeLts/Connection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php b/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php index a47bf69..24382e5 100644 --- a/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php +++ b/tests/modules/localgov_forms_test/src/Driver/Database/FakeLts/Connection.php @@ -43,6 +43,6 @@ protected function driverTransactionManager(): TransactionManagerInterface { * * Work-around for avoiding TransactionManager usage. */ - public function commitAll() {} + public function commitAll(): void {} }