Плагин

На странице корзины (cart) и оформления заказа (checkout), WooCommerce показывает список доступных покупателю способов доставки (shipping options). Список может содержать один, несколько или ни одного способа доставки.

Задача плагина скрывать платные способы доставки, если доступен бесплатный.

Если среди способов доставки нет ни одного бесплатного, плагин просто ничего не делает, оставляет как есть.

На странице настроек плагина должны быть следующие опции:

  1. Вкл/выкл, чекбокс. По умолчанию вкл.

  2. "Don't hide a local pickup shipping option", чекбокс. По умолчанию вкл. Local pickup это когда покупатель сам забирает заказ из магазина или со склада. Обычно, владелец магазина не хочет его скрывать, вне зависимости то того, платный он или нет, и есть ли другие способы доставки. Если галка включена, плагин игнорирует local pickup, как если бы его совсем не было в списке доступных способов доставки. Если выключена, то обрабатывает на общих правилах.

Как отличить local pickup от обычных способов доставки? Плагин определяет local pickup по наступлению любого из условий:

  1. "If more than one free shipping options available" - секция, настраивает поведение плагина, если покупателю доступно более одного бесплатного способа доставки.

Тесты

Нужно покрыть плагин Selenium тестами проверяющими основные сценарии работы пользователя с плагином. Скажем, 5 сценариев будет достаточно. Тесты будут запускаться при выходе новых версий WordPress и WooCommerce. Каждый тестовый сценарий должен заходить на страницу настроек плагина в админке WooCommerce, выставлять какие-то настройки, после чего проверять список доступных способов доставки на страницах cart и checkout, чтобы удостовериться, что плагин отработал правильно, согласно настройкам.