Skip to content

test(integration): finalize required fields + cart SQLite draft - #495

Open
Ibochkarev wants to merge 1 commit into
betafrom
test/issue-429-finalize-cart-sqlite
Open

test(integration): finalize required fields + cart SQLite draft#495
Ibochkarev wants to merge 1 commit into
betafrom
test/issue-429-finalize-cart-sqlite

Conversation

@Ibochkarev

@Ibochkarev Ibochkarev commented Aug 1, 2026

Copy link
Copy Markdown
Member

Описание

Интеграционные тесты для #429: finalize без skip_validation (отказ при пустых required delivery fields + happy path) и cart add/change/remove через SQLite-store ms_order_product. RecordingMsOrder::save каскадит только новые product lines, чтобы не затирать строки после UPDATE в БД.

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

  • Исправление бага (non-breaking change)
  • Новая функциональность (non-breaking change)
  • Breaking change (изменение, ломающее обратную совместимость)
  • Рефакторинг (без изменения функциональности)
  • Документация
  • Другое (опишите): интеграционные тесты

Связанные Issues

Refs #429

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

cd core/components/minishop3
composer test   # 106 OK
php -l tests/Integration/Cart/CartFacadeDraftStoreTest.php \
  tests/Integration/Order/OrderFinalizeServiceTest.php \
  tests/RecordingMsOrder.php \
  tests/support/OrderProductSqliteStore.php

GitHub Actions CI на PR: PHP lint + smoke, PHPStan, vueManager lint — pass.

  • Ручное тестирование
  • Автоматические тесты (composer ci:php / composer test, npm run lint:ci, composer stan / GitHub Actions CI)
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3: ветка test/issue-429-finalize-cart-sqlite
  • MODX: n/a (SQLite harness без runtime MODX)
  • PHP: локальный + CI

Скриншоты (если применимо)

n/a

Чеклист

  • Код соответствует стилю проекта
  • Добавлены/обновлены комментарии в сложных местах
  • Изменения не ломают существующую функциональность
  • Лексиконы добавлены на двух языках (ru/en)
  • PHPStan проходит без новых ошибок (composer stan / CI job PHPStan)
  • ESLint проходит без ошибок (npm run lint:ci для Vue)
  • Обновлён CHANGELOG.md (для значимых изменений)

Дополнительные заметки

Лексиконы, Vue и CHANGELOG не затрагивались.

@Ibochkarev
Ibochkarev requested a review from biz87 August 1, 2026 10:15
…tore

Cover delivery required_fields without skip_validation, and persist
cart add/change/remove through an in-memory SQLite order-product store.
@Ibochkarev
Ibochkarev force-pushed the test/issue-429-finalize-cart-sqlite branch from 1fc332b to d3b7ea1 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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant