Skip to content

Удалить deprecated pass-through OrderService/Customer - #489

Open
Ibochkarev wants to merge 2 commits into
betafrom
refactor/issue-357-remove-deprecated-passthrough
Open

Удалить deprecated pass-through OrderService/Customer#489
Ibochkarev wants to merge 2 commits into
betafrom
refactor/issue-357-remove-deprecated-passthrough

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Описание

Удалены тонкие @deprecated обёртки без собственной логики после аудита callers в репозитории (0 внутренних вызовов):

  • OrderService::handleOrderSave() → канон: msOrder::save()
  • OrderService::removeOrder() → канон: msOrder::remove()
  • Customer::getId() → канон: Customer::getOrCreate()

Добавлен smoke-тест DeprecatedPassThroughRemovedTest, который не допускает возврат pass-through в core.

Тип изменений

  • Исправление бага
  • Новая функциональность
  • Breaking change (для внешних add-on, вызывавших deprecated API напрямую)
  • Рефакторинг / tech-debt

Связанные Issues

Closes #357

Аудит callers

Метод In-repo callers Действие
handleOrderSave 0 удалён
removeOrder 0 удалён
Customer::getId 0 (только changelog/комментарии) удалён

Внешние extras: если вызывали эти методы — мигрировать на канонические API выше.

Как это было протестировано?

cd core/components/minishop3
php tests/DeprecatedPassThroughRemovedTest.php  # exit 0
composer ci:php  # exit 0 (php -l + smoke 21 + phpunit 39)
php -l src/Services/Order/OrderService.php src/Controllers/Customer/Customer.php  # exit 0
  • Ручное тестирование
  • Автоматические тесты
  • Тестирование на разных версиях PHP/MODX

Конфигурация: PHP 8.4.17, branch refactor/issue-357-remove-deprecated-passthrough

Чеклист

  • Pass-through удалены (audit: 0 core callers)
  • Канонические пути — единственный путь в core
  • Smoke-тест против регрессии wrappers
  • CHANGELOG — по политике репозитория не обновлялся

Drop handleOrderSave/removeOrder and Customer::getId wrappers after
confirming zero in-repo callers; core uses msOrder::save/remove and
Customer::getOrCreate directly.

Closes #357
@Ibochkarev Ibochkarev added priority: low Низкий приоритет, когда будет время enhancement New feature or request tech-debt Maintainability / refactor / architecture debt labels Jul 29, 2026
@Ibochkarev
Ibochkarev requested a review from biz87 July 29, 2026 17:02
Move tests/DeprecatedPassThroughRemovedTest.php into
tests/Unit/Regression/ as a PHPUnit class and narrow assertions to
method_exists + ReflectionClass::hasMethod on OrderService and Customer,
dropping the full-tree grep that was prone to false positives.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: low Низкий приоритет, когда будет время tech-debt Maintainability / refactor / architecture debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Удалить deprecated pass-through OrderService/Customer после audit callers

1 participant