fix: SUG-6 API key modal, SUG-4 project activity filter, WooCommerce health auth

- SUG-6: Replace auto-closing inline banner with persistent modal on Connect
  page — key stays visible until user clicks "Done"
- SUG-4: Filter health_metric_recorded/health_check from project detail activity
- WooCommerce: Accept consumer_key/consumer_secret credentials (preferred) with
  username/app_password fallback; fix health check to use WC endpoint and creds

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
airano
2026-02-24 07:16:05 +03:30
parent 983d93c2a7
commit 1736779d69
5 changed files with 86 additions and 28 deletions

View File

@@ -44,11 +44,10 @@ class TestWooCommercePluginInit:
assert WooCommercePlugin.get_plugin_name() == "woocommerce"
def test_required_config_keys(self):
"""Should require url, username, app_password."""
"""Should require url only (credentials checked at init)."""
keys = WooCommercePlugin.get_required_config_keys()
assert "url" in keys
assert "username" in keys
assert "app_password" in keys
assert len(keys) == 1
def test_missing_url_raises(self):
"""Should raise ValueError for missing URL."""
@@ -57,9 +56,11 @@ class TestWooCommercePluginInit:
WooCommercePlugin(config)
def test_missing_credentials_raises(self):
"""Should raise ValueError for missing credentials."""
"""Should raise ConfigurationError for missing credentials."""
from plugins.wordpress.client import ConfigurationError
config = {"url": "https://shop.example.com"}
with pytest.raises(ValueError, match="Missing required configuration"):
with pytest.raises(ConfigurationError, match="credentials not configured"):
WooCommercePlugin(config)
def test_custom_project_id(self):