Skip to content

[Issue] Fix incorrect return type for getOptionByCode method #39404

Open
@m2-assistant

Description

@m2-assistant

This issue is automatically created based on existing pull request: #39389: Fix incorrect return type for getOptionByCode method


Description (*)

I've noticed that \Magento\Catalog\Model\Product\Configuration\Item\ItemInterface::getOptionByCode return type is defined as object all the time:

/**
* Get item option by code
*
* @param string $code
* @return \Magento\Catalog\Model\Product\Configuration\Item\Option\OptionInterface
*/
public function getOptionByCode($code);

However, this interface implements 3 classes, and each of them returns object OR null, so it's a bug in the method definition on interface:

  • /**
    * @inheritdoc
    * @since 101.1.1
    */
    public function getOptionByCode($code)
    {
    if ($this->getQuoteItem()) {
    return $this->getQuoteItem()->getOptionBycode($code);
    }
    return null;
    }
  • /**
    * Get item option by code
    *
    * @param string $code
    * @return \Magento\Quote\Model\Quote\Item\Option || null
    */
    public function getOptionByCode($code)
    {
    if (isset($this->_optionsByCode[$code]) && !$this->_optionsByCode[$code]->isDeleted()) {
    return $this->_optionsByCode[$code];
    }
    return null;
    }
  • /**
    * Get item option by code
    *
    * @param string $code
    * @return Option|null
    */
    public function getOptionByCode($code)
    {
    if (isset($this->_optionsByCode[$code]) && !$this->_optionsByCode[$code]->isDeleted()) {
    return $this->_optionsByCode[$code];
    }
    return null;
    }

This pull request fixes incorrect phpdoc block, which leads to confusion, which leads to bugs during development

Related Pull Requests

Fixed Issues (if relevant)

  1. Fixes magento/magento2#<issue_number>

Manual testing scenarios (*)

  1. ...
  2. ...

Questions or comments

Contribution checklist (*)

  • Pull request has a meaningful description of its purpose
    All commits are accompanied by meaningful commit messages
    All new or changed code is covered with unit/integration tests (if applicable)
    README.md files for modified modules are updated and included in the pull request if any README.md predefined sections require an update
    All automated tests passed successfully (all builds are green)

Activity

added
Priority: P2A defect with this priority could have functionality issues which are not to expectations.
on Nov 26, 2024
added
Triage: Dev.ExperienceIssue related to Developer Experience and needs help with Triage to Confirm or Reject it
on Nov 27, 2024
self-assigned this
on Nov 27, 2024
m2-assistant

m2-assistant commented on Nov 27, 2024

@m2-assistant
Author

Hi @engcom-Hotel. Thank you for working on this issue.
In order to make sure that issue has enough information and ready for development, please read and check the following instruction: 👇

  • 1. Verify that issue has all the required information. (Preconditions, Steps to reproduce, Expected result, Actual result).
    2. Verify that issue has a meaningful description and provides enough information to reproduce the issue.
    3. Add Area: XXXXX label to the ticket, indicating the functional areas it may be related to.
    4. Verify that the issue is reproducible on 2.4-develop branch
    Details- If the issue is reproducible on 2.4-develop branch, please, add the label Reproduced on 2.4.x.
    - If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and stop verification process here!
    5. Add label Issue: Confirmed once verification is complete.
    6. Make sure that automatic system confirms that report has been added to the backlog.

11 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Area: FrameworkComponent: QuoteComponent: WishlistIssue: ConfirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedPriority: P2A defect with this priority could have functionality issues which are not to expectations.Progress: PR in progressReported on 2.4.xIndicates original Magento version for the Issue report.Reproduced on 2.4.xThe issue has been reproduced on latest 2.4-develop branchTriage: Dev.ExperienceIssue related to Developer Experience and needs help with Triage to Confirm or Reject it

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    Participants

    @ihor-sviziev@engcom-Hotel@github-jira-sync-bot

    Issue actions

      [Issue] Fix incorrect return type for getOptionByCode method · Issue #39404 · magento/magento2