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 — по политике репозитория не обновлялся

@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
Drop handleOrderSave/removeOrder and Customer::getId wrappers after
confirming zero in-repo callers; core uses msOrder::save/remove and
Customer::getOrCreate directly.

Closes #357
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.
@Ibochkarev
Ibochkarev force-pushed the refactor/issue-357-remove-deprecated-passthrough branch from dcb27bd to 5a186f8 Compare August 2, 2026 02:29
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