From a52a3d3166c6f053a86c995dcb07f39200c4a59c Mon Sep 17 00:00:00 2001 From: Rens Wolters Date: Fri, 16 Jul 2021 16:57:06 +0200 Subject: [PATCH 1/3] Added integration tests --- Helper/Data.php | 2 +- Test/Integration/PostcodeTest.php | 79 +++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 Test/Integration/PostcodeTest.php diff --git a/Helper/Data.php b/Helper/Data.php index b11c02c..518c35c 100644 --- a/Helper/Data.php +++ b/Helper/Data.php @@ -458,7 +458,7 @@ protected function checkCapabilities() return false; } - protected function callApiUrlGet($url) + public function callApiUrlGet($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); diff --git a/Test/Integration/PostcodeTest.php b/Test/Integration/PostcodeTest.php new file mode 100644 index 0000000..cd56e3c --- /dev/null +++ b/Test/Integration/PostcodeTest.php @@ -0,0 +1,79 @@ +objectManager = Bootstrap::getObjectManager(); + } + + public function testModuleIsRegistered() + { + $registrar = new ComponentRegistrar(); + $this->assertArrayHasKey($this->moduleName, $registrar->getPaths(ComponentRegistrar::MODULE)); + } + + public function testModuleIsConfiguredAndEnabledInTestEnvironment() + { + $moduleList = $this->objectManager->create(ModuleList::class); + $this->assertTrue($moduleList->has($this->moduleName), 'The module is not enabled in the Test env'); + } + + public function testModuleIsConfiguredAndEnabled() + { + $dirList = $this->objectManager->create(DirectoryList::class, ['root' => BP]); + $configReader = $this->objectManager->create(DeploymentConfigReader::class, ['dirList' => $dirList]); + $deploymentConfig = $this->objectManager->create(DeploymentConfig::class, ['reader' => $configReader]); + $moduleList = $this->objectManager->create(ModuleList::class, ['config' => $deploymentConfig]); + + $this->assertTrue($moduleList->has($this->moduleName), 'The module is not enabled in the real env'); + } + + public function testGetPostcodeInformation() + { + $addressData = \GuzzleHttp\json_decode('{"street":"Teststraat","streetNen":"Teststraat","houseNumber":12,"houseNumberAddition":null,"postcode":"1234AB","city":"Utrecht","cityShort":"Utrecht","municipality":"Utrecht","municipalityShort":"Utrecht","province":"Utrecht","rdX":90000,"rdY":435000,"latitude":51.90500000,"longitude":4.45000000,"bagNumberDesignationId":"0599200100026629","bagAddressableObjectId":"0000000000000","addressType":"building","purposes":["residency"],"surfaceArea":100,"houseNumberAdditions":[]}', true); + + $postcodeHelper = $this->createPartialMock(Data::class, ['callApiUrlGet', 'getStoreConfig', 'isDebugging', 'checkApiReady']); + $postcodeHelper->method('callApiUrlGet')->willReturn($addressData); + $postcodeHelper->method('getStoreConfig')->willReturn(false); + $postcodeHelper->method('isDebugging')->willReturn(false); + $postcodeHelper->method('processErrorMessage')->willReturn($addressData); + $postcodeHelper->method('checkApiReady')->willReturn(false); + + $postcodeManagement = new PostcodeManagement($postcodeHelper); + $postcodeInformation = $postcodeManagement->getPostCodeInformation('1234AB', '12', ''); + + $this->assertJson($postcodeInformation); + + $postcodeInformation = \GuzzleHttp\json_decode($postcodeInformation, true); + + $this->assertEquals('Teststraat', $postcodeInformation['street']); + $this->assertEquals('Utrecht', $postcodeInformation['city']); + $this->assertEquals(12, $postcodeInformation['houseNumber']); + $this->assertEquals(null, $postcodeInformation['houseNumberAddition']); + $this->assertEquals('1234AB', $postcodeInformation['postcode']); + } +} From 674e16c2181dfa399dd91fc72b8e6b1d1f22b621 Mon Sep 17 00:00:00 2001 From: Rens Wolters Date: Fri, 16 Jul 2021 16:57:25 +0200 Subject: [PATCH 2/3] [DOCS] Updated the CHANGELOG.md --- CHANGELOG.md | 106 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 74 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3174acb..9ccd5db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,49 @@ +## 1.8.2 (2021-05-12) + +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.8.2) + +* [BUGFIX] - Fix housenumber addition *(Ruben Panis)* + + +## 1.8.1 (2021-02-01) + +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.8.1) + +* [BUGFIX] Solved "TypeError: Cannot read property 'get' of undefined" when country is set to Belgium *(Mr. Lewis)* + + +## 1.8.0 (2020-10-28) + +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.8.0) + +* [FEATURE] Introduce pluggable function to alter sort order of the postcode fields for different checkouts than the default Magento OnePage. *(Boris van Katwijk)* + + +## 1.7.0 (2020-10-05) + +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.7.0) + +* [FEATURE]Added pattern to housenumber input for numeric keyboard on ios *(joeydankbaar)* + + +## 1.6.0 (2020-10-02) + +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.6.0) + +* [DOCS] Updated the CHANGELOG.md *(Lewis Voncken)* +* [FEATURE] Split GraphQl functionality from module *(René Schep)* + + ## 1.5.0 (2020-10-01) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.5.0) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.5.0) * [FEATURE] Changed the template for the housenumber to set input type number *(Lewis Voncken)* ## 1.4.2 (2020-09-30) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.4.2) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.4.2) * Update URLs, services.postcode.nl no longer exists *(SjonHortensius)* * Prevent javascript error by adding a warning comment when you want to use seperate address fields *(joeydankbaar)* @@ -17,47 +53,53 @@ ## 1.4.1 (2020-09-22) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.4.1) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.4.1) + +* [FEATURE] Updated GraphQl Exception type for lookupAddress errors *(René Schep)* + + +## 1.4.0 (2020-09-15) + +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.4.0) * [DOC] Cleaned some code *(René Schep)* * [FEATURE] Added support for GraphQl *(René Schep)* * [FEATURE] Added magento version restriction *(René Schep)* * [BUGFIX] Typo *(René Schep)* * [BUGFIX] Fixed version restraint *(René Schep)* -* [FEATURE] Updated GraphQl Exception type for lookupAddress errors *(René Schep)* ## 1.3.4 (2020-04-09) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.4) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.4) * [BUGFIX] removed region_id set, expects an int not a string. *(Experius)* ## 1.3.3 (2019-11-27) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.3) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.3) * Prevent notice showing undefined *(jordy2607)* ## 1.3.2 (2019-11-21) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.2) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.2) * [BUGFIX] solved invalid width for the input fields in the checkout *(Mr. Lewis)* ## 1.3.1 (2019-07-01) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.1) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.1) * [TASK] - Change echo json_encode data to return resultJsonFactory as to prevent pipeline error *(Cas Satter)* ## 1.3.0 (2019-01-29) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.0) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.3.0) * Typo *(Michiel Gerritsen)* * [TASK] Added Api keycheck in backend and system message when key is invalid *(Matthijs Breed)* @@ -74,42 +116,42 @@ ## 1.2.1 (2018-08-15) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.2.1) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.2.1) * [BUGFIX] Fixed Housenumber addition not being seperated to next street field *(René Schep)* ## 1.2.0 (2018-03-13) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.2.0) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.2.0) * [TASK] Updated the Styling in the Checkout and Added a notice with 'Fill in your Shipping Address below:' *(Lewis Voncken)* ## 1.1.6 (2018-03-13) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.6) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.6) * [TASK] Added canRestore to the configuration fields *(Lewis Voncken)* ## 1.1.5 (2018-03-13) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.5) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.5) * [BUGFIX] [issue#29] Solved Problem with Address showing [object Object] on checkout Startup *(Lewis Voncken)* ## 1.1.4 (2017-12-07) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.4) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.4) * [BUGFIX] Postcode now written to shipping address object *(jessetaverne)* ## 1.1.3 (2017-11-02) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.3) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.3) * [TASK] Make module pass PHPstan checks [TASK] Make module PSR-2 Compliant *(Bart Lubbersen)* * [TASK] Solved code complexity problems *(Bart Lubbersen)* @@ -120,21 +162,21 @@ ## 1.1.2 (2017-09-04) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.2) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.2) * [BUGFIX] Solved problem with address addition being hidden if mode is manual *(Bart Lubbersen)* ## 1.1.1 (2017-09-01) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.1) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.1) * [BUGFIX] Solved problem with classes not being set and removed correctly because additionalClasses is only set upon first time loading *(Bart Lubbersen)* ## 1.1.0 (2017-08-31) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.0) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.1.0) * [FIX] - if addres has an addition: first value to select is not 'false' but No housenumber addition *(Rakhal)* * [TASK] Changed the way the addresses are filled, now not in textblock but address fields themselves are shown disabled [TASK] Added validation required for postcode module specific fields if enabled [TASK] Added validation of postcode validation upon submitting form [TASK] Moved styling to less files instead of inside html files *(Bart Lubbersen)* @@ -142,21 +184,21 @@ ## 1.0.13 (2017-07-28) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.13) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.13) * hideFields fix *(jordy2607)* ## 1.0.12 (2017-07-25) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.12) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.12) * this.source is undefined in load *(jordy2607)* ## 1.0.11 (2017-07-07) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.11) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.11) * [TASK] Add NL translations *(Bart Lubbersen)* * [BUGFIX] Debug mode was not checked from right config value *(Bart Lubbersen)* @@ -166,28 +208,28 @@ ## 1.0.10 (2017-07-06) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.10) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.10) * Region_id field fix + hide preview field notice after country change *(jordy2607)* ## 1.0.9 (2017-07-03) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.9) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.9) * [BUGFIX] #13 Fixed strange behaviour with addition with whitespace. Removed whitespace *(Derrick Heesbeen)* ## 1.0.8 (2017-07-03) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.8) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.8) * [BUGFIX] #16 Region field fix, #11 sort order field fix, #10 street hide fix *(Derrick Heesbeen)* ## 1.0.7 (2017-06-30) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.7) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.7) * Get storeconfig for use_street2_as_housenumber, not configurable in backend in magento *(Rakhal)* * [BUGFIX] layout fix for templates that enherit from blank them *(Derrick Heesbeen)* @@ -195,14 +237,14 @@ ## 1.0.6 (2017-05-01) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.6) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.6) * [BUGFIX] issue #10 Housenumbers not showing, cast to string *(Derrick Heesbeen)* ## 1.0.5 (2017-05-01) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.5) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.5) * [FEATURE] Start with postcode validator in customer address *(Derrick Heesbeen)* * [BUGFIX] compile error fix. Duplicate depedencies *(Derrick Heesbeen)* @@ -212,21 +254,21 @@ ## 1.0.4 (2017-04-07) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.4) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.4) * Refactor and added loader *(Derrick Heesbeen)* ## 1.0.3 (2017-03-20) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.3) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.3) * Country field listener show/hide *(Derrick Heesbeen)* ## 1.0.2 (2017-01-02) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.2) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.2) * Removed Plugin, Add layout processor *(Derrick Heesbeen)* * Module Sequence, Layoutprocessor checks *(Derrick Heesbeen)* @@ -235,14 +277,14 @@ ## 1.0.1 (2016-10-18) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.1) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.1) * Changed settings, add default, add some config paths *(Derrick Heesbeen)* ## 1.0.0 (2016-09-29) -[View Release](git@github.com:experius/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.0) +[View Release](git@github.com:rensieeee/Magento-2-Module-Experius-Postcode-NL.git/commits/tag/1.0.0) * First commit *(Derrick Heesbeen)* * Added postcode and housenumber field to shipping and billing forms, hide fields, fill fields, start with setting *(Derrick Heesbeen)* From 7d72e516f2cab4f69fb4ba19c7d065b4b1421c54 Mon Sep 17 00:00:00 2001 From: Rens Wolters <31250247+rensieeee@users.noreply.github.com> Date: Thu, 22 Jul 2021 10:12:16 +0200 Subject: [PATCH 3/3] Allowed postcode api to use spaces in housenumber (removed on api call) --- Helper/Data.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Helper/Data.php b/Helper/Data.php index 518c35c..418cca9 100644 --- a/Helper/Data.php +++ b/Helper/Data.php @@ -138,6 +138,8 @@ public function lookupAddress(string $postcode, string $houseNumber, string $hou return $response; } + $houseNumber = str_replace(' ', '', $houseNumber); + $urlEncPostcode = rawurlencode($postcode); $urlEncHousenumber = rawurlencode($houseNumber); $urlEncHousenumberAdd = rawurlencode($houseNumberAddition);