Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed Test due to Class not following the naming convention #925

Closed
amacgregor opened this issue Jan 6, 2015 · 6 comments
Closed

Failed Test due to Class not following the naming convention #925

amacgregor opened this issue Jan 6, 2015 · 6 comments
Assignees

Comments

@amacgregor
Copy link
Contributor

The class naming convention seems to be inconsistent and causing some problems for example I run into the following issue while running the unit tests for the Magento catalog Models

~/Projects/Github/magento2 on ⭠ develop! ⌚ 11:27:10
$ vendor/bin/phpunit  --configuration /home/amacgregor/Projects/Github/magento2/dev/tests/unit/phpunit.xml.dist /home/amacgregor/Projects/Github/magento2/dev/tests/unit/testsuite/Magento/Catalog/            
PHPUnit 4.1.0 by Sebastian Bergmann.

Configuration read from /media/projects/Github/magento2/dev/tests/unit/phpunit.xml.dist

...............................................................  63 / 912 (  6%)
............................................................... 126 / 912 ( 13%)
............................................................... 189 / 912 ( 20%)
........................................I.I.................... 252 / 912 ( 27%)
............................................................... 315 / 912 ( 34%)
............................................................... 378 / 912 ( 41%)
............................................................... 441 / 912 ( 48%)
.............................E................................. 504 / 912 ( 55%)
............................................................... 567 / 912 ( 62%)
............................................................... 630 / 912 ( 69%)
............................................................... 693 / 912 ( 75%)
............................................................... 756 / 912 ( 82%)
............................................................... 819 / 912 ( 89%)
............................................................... 882 / 912 ( 96%)
..............................

Time: 18.35 seconds, Memory: 235.25Mb

There was 1 error:

1) Magento\Catalog\Model\Product\Attribute\Backend\GroupPriceTest::testIsScaler
ReflectionException: Class Magento\Catalog\Model\Product\Attribute\Backend\GroupPrice does not exist

/media/projects/Github/magento2/dev/tests/unit/framework/Magento/TestFramework/Helper/ObjectManager.php:160
/media/projects/Github/magento2/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/GroupPriceTest.php:23

FAILURES!                                              
Tests: 912, Assertions: 2703, Errors: 1, Incomplete: 2.

Looking at the test class in more detail, we can see that is trying to create an instance of the following class

$this->model = $this->objectHelper->getObject('Magento\Catalog\Model\Product\Attribute\Backend\GroupPrice');

Unfortunately, the actual class is called:

class Groupprice extends \Magento\Catalog\Model\Product\Attribute\Backend\Groupprice\AbstractGroupprice

Now the naming seems to be sort of inconsistent because the same module has classes using camel casing and only the first later capitalized.

What should be the correct naming convention? the fix for this issue depends on whether the naming is correct or not.

@alankent
Copy link

alankent commented Jan 6, 2015

We use camel case for class names. Groupprice looks like a bug to me to be reported and fixed (but I am not an expert in that code).

@antonmakarenko
Copy link

"StudlyCaps", to be more precise: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md#3-namespace-and-class-names

The "AbstractGroupprice" is an oversight. It should be "AbstractGroupPrice"

@amacgregor
Copy link
Contributor Author

@antonmakarenko @alankent Perfect. Let me take a crack at fixing the issue.

@amacgregor
Copy link
Contributor Author

Pull request created #943

@maksek
Copy link
Contributor

maksek commented Jan 14, 2015

MAGETWO-32697

@maksek maksek self-assigned this Jan 14, 2015
@maksek
Copy link
Contributor

maksek commented Jan 14, 2015

PR was merged. Closing the issue.

@maksek maksek closed this as completed Jan 14, 2015
magento-team added a commit to buskamuza/magento2-community-edition that referenced this issue Jan 20, 2015
* Various improvements:
    * Updated Copyright Notice and provided reference to the license file
    * Updated test framework to support stores other than default
    * Removed version information from theme.xml files leaving it only in composer.json files
* Fixed bugs:
    * Fixed an issue where coupon code was reported to be invalid if it has been removed from reorder in backend and then re-applied
    * Fixed an issue where the 'Guide to Using Sample Data' link was incorrect in the web setup UI
    * Fixed an issue where the link to System Requirements in bootstrap.php was incorrect
    * Fixed an issue where Compiler could not verify case sensitive dependency
    * Fixed an issue where the Recently Compared Products and Recently Viewed Products widgets were not displayed in sidebars
    * Fixed an issue where the Orders and Returns widget type contained unnecessary tab
    * Fixed an issue where an image added to a CMS page using the WYSIWYG editor was displayed as a broken link after turning off the allow_url_fopen parameter in php.ini
    * Fixed an issue where it was impossible to log in to the backend from the first attempt after changing Base URL
    * Fixed an issue where it was impossible to set back the default English (United States) interface locale for the admin user after changing it so an other value
    * Fixed an issue where it was possible to execute malicious JavaScript code in the context of website via the Sender Email parameter
    * Fixed an issue where the Product Stock Alert email was sent to a customer from a store view different than a customer account was created in
    * Fixed an issue where the "Server cannot understand Accept HTTP header media type" error message was not informative enough
    * Fixed an issue where unit tests did not work as expected after installing Magento 2
    * Fixed an issue where the password change email notification was sent after saving admin account settings even if password was not changed
    * Fixed an issue where static tests failed as a result of adding  API functional tests
    * Fixed API functional tests after merging pull request [#927](magento/magento2#927)
    * Fixed an issue where the Edit button was present for invoiced orders
    * Fixed an issue where function _underscore did not work with keys like SKeyName ('s_key_name')
    * Fixed an issue where a fatal error occurred when browsing categories if web server did not have write permissions for media/catalog/product
* Github requests:
    * [#792](magento/magento2#792) -- Failed to set ini option "session.save_path" to value
    * [#796](magento/magento2#796) -- install.log cannot be created with open_basedir restriction
    * [#823](magento/magento2#823) -- Installation bug
    * [#920](magento/magento2#920) -- "web setup wizard is not accessible" error message but the setup wizard is actually accessible
    * [#829](magento/magento2#829) -- [API] OAuth1.0 request token request failing / Consumer key has expired
    * [#658](magento/magento2#658) -- Inline translate malfunctioning
    * [#950](magento/magento2#950) -- Fix for the missed trailing end of line in indexer.php usage help text
    * [#932](magento/magento2#932) -- Migration tool - not all input has comments
    * [#959](magento/magento2#959) -- Replace UTF8 'en dash' with minus in error message
    * [#911](magento/magento2#911) -- Fix test assertion and slight cleanup refactoring
    * [#936](magento/magento2#936) -- Bugfix for regions with single quote in name
    * [#902](magento/magento2#902) -- Add integration test for View\Page\Config\Reader\Html
    * [#925](magento/magento2#925) -- Failed test due to Class not following the naming conventions
    * [#943](magento/magento2#943) -- magento2-925 Failed Test due to Class not following the naming conventions
    * [#968](magento/magento2#968) -- Apply pattern matching datasource config files
    * [#949](magento/magento2#949) -- Added 'status' command for cache cli script / Also improved readability
* PHP 5.6 in composer.json:
    * Added PHP 5.6.0 to the list of required PHP versions in all composer.json files
    * Updated Travis CI configuration to include PHP 5.6 builds
* Framework improvements:
    * Removed TODOs in the Integration and Authorization modules
    * Removed leading backslash from the 'use' statement throughout the code base
magento-team added a commit to buskamuza/magento2-community-edition that referenced this issue Jan 20, 2015
* Various improvements:
    * Updated Copyright Notice and provided reference to the license file
    * Updated test framework to support stores other than default
    * Removed version information from theme.xml files leaving it only in composer.json files
* Fixed bugs:
    * Fixed an issue where coupon code was reported to be invalid if it has been removed from reorder in backend and then re-applied
    * Fixed an issue where the 'Guide to Using Sample Data' link was incorrect in the web setup UI
    * Fixed an issue where the link to System Requirements in bootstrap.php was incorrect
    * Fixed an issue where Compiler could not verify case sensitive dependency
    * Fixed an issue where the Recently Compared Products and Recently Viewed Products widgets were not displayed in sidebars
    * Fixed an issue where the Orders and Returns widget type contained unnecessary tab
    * Fixed an issue where an image added to a CMS page using the WYSIWYG editor was displayed as a broken link after turning off the allow_url_fopen parameter in php.ini
    * Fixed an issue where it was impossible to log in to the backend from the first attempt after changing Base URL
    * Fixed an issue where it was impossible to set back the default English (United States) interface locale for the admin user after changing it so an other value
    * Fixed an issue where it was possible to execute malicious JavaScript code in the context of website via the Sender Email parameter
    * Fixed an issue where the Product Stock Alert email was sent to a customer from a store view different than a customer account was created in
    * Fixed an issue where the "Server cannot understand Accept HTTP header media type" error message was not informative enough
    * Fixed an issue where unit tests did not work as expected after installing Magento 2
    * Fixed an issue where the password change email notification was sent after saving admin account settings even if password was not changed
    * Fixed an issue where static tests failed as a result of adding  API functional tests
    * Fixed API functional tests after merging pull request [#927](magento/magento2#927)
    * Fixed an issue where the Edit button was present for invoiced orders
    * Fixed an issue where function _underscore did not work with keys like SKeyName ('s_key_name')
    * Fixed an issue where a fatal error occurred when browsing categories if web server did not have write permissions for media/catalog/product
* Github requests:
    * [#792](magento/magento2#792) -- Failed to set ini option "session.save_path" to value
    * [#796](magento/magento2#796) -- install.log cannot be created with open_basedir restriction
    * [#823](magento/magento2#823) -- Installation bug
    * [#920](magento/magento2#920) -- "web setup wizard is not accessible" error message but the setup wizard is actually accessible
    * [#829](magento/magento2#829) -- [API] OAuth1.0 request token request failing / Consumer key has expired
    * [#658](magento/magento2#658) -- Inline translate malfunctioning
    * [#950](magento/magento2#950) -- Fix for the missed trailing end of line in indexer.php usage help text
    * [#932](magento/magento2#932) -- Migration tool - not all input has comments
    * [#959](magento/magento2#959) -- Replace UTF8 'en dash' with minus in error message
    * [#911](magento/magento2#911) -- Fix test assertion and slight cleanup refactoring
    * [#936](magento/magento2#936) -- Bugfix for regions with single quote in name
    * [#902](magento/magento2#902) -- Add integration test for View\Page\Config\Reader\Html
    * [#925](magento/magento2#925) -- Failed test due to Class not following the naming conventions
    * [#943](magento/magento2#943) -- magento2-925 Failed Test due to Class not following the naming conventions
    * [#968](magento/magento2#968) -- Apply pattern matching datasource config files
    * [#949](magento/magento2#949) -- Added 'status' command for cache cli script / Also improved readability
* PHP 5.6 in composer.json:
    * Added PHP 5.6.0 to the list of required PHP versions in all composer.json files
    * Updated Travis CI configuration to include PHP 5.6 builds
* Framework improvements:
    * Removed TODOs in the Integration and Authorization modules
    * Removed leading backslash from the 'use' statement throughout the code base
magento-team pushed a commit that referenced this issue Apr 11, 2017
fe-lix- pushed a commit to fe-lix-/magento2 that referenced this issue Apr 29, 2018
MSI-917: Separate UI and Business logic for InventorySales Module.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants