From 1835e75924ff905717d3310798d3d1728884c627 Mon Sep 17 00:00:00 2001 From: Adrian Stephens Date: Wed, 22 Apr 2026 09:06:03 +0100 Subject: [PATCH] HTML editor work --- .gitignore | 3 + .../feca_mailshots_plugin.php | 2 +- .../src/Admin/AttachmentsAdminPage.php | 5 +- .../src/Admin/DataSourcesAdminPage.php | 59 +- .../src/Admin/MailshotTestAdminPage.php | 1 + .../src/Admin/MailshotsAdminPage.php | 626 ++++++++++++++++-- .../src/Admin/PdfAssetsAdminPage.php | 5 +- .../src/Admin/ProfileAdminPage.php | 1 + .../src/Admin/RunMailshotAdminPage.php | 1 + .../src/Admin/SetupAdminPage.php | 1 + .../src/Application/DataSourceService.php | 36 +- .../src/Application/DslCompiler.php | 31 +- .../src/Application/DslValidator.php | 8 +- .../src/Application/MailshotRunService.php | 34 +- .../src/Application/MailshotService.php | 16 + .../src/Domain/DslParser.php | 1 + .../DatabaseSourceMetadataProvider.php | 37 +- .../src/Repository/MailshotRepository.php | 43 +- .../src/WordPress/FixtureWordPressFacade.php | 6 + .../WordPress/ProductionWordPressFacade.php | 5 + .../src/WordPress/WordPressFacade.php | 2 + package-lock.json | 72 ++ package.json | 13 + playwright.config.mjs | 14 + requirements/environment.md | 9 + samples/invoicing.html | 17 +- tests/e2e/README.md | 34 + tests/e2e/run.sh | 17 + tests/e2e/specs/admin-ui-smoke.spec.mjs | 16 + tests/e2e/specs/data-sources.spec.mjs | 78 +++ tests/e2e/specs/helpers.mjs | 52 ++ tests/e2e/specs/mailshots-editor.spec.mjs | 92 +++ tests/e2e/specs/run-test-pages.spec.mjs | 49 ++ tests/fixture/wp-admin/admin-post.php | 18 + tests/fixture/wp-admin/admin.php | 28 + tests/integration/test_phase3_db_access.php | 21 + tests/unit/test_dsl_pipeline.php | 2 +- 37 files changed, 1316 insertions(+), 139 deletions(-) create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 playwright.config.mjs create mode 100644 tests/e2e/README.md create mode 100755 tests/e2e/run.sh create mode 100644 tests/e2e/specs/admin-ui-smoke.spec.mjs create mode 100644 tests/e2e/specs/data-sources.spec.mjs create mode 100644 tests/e2e/specs/helpers.mjs create mode 100644 tests/e2e/specs/mailshots-editor.spec.mjs create mode 100644 tests/e2e/specs/run-test-pages.spec.mjs create mode 100644 tests/fixture/wp-admin/admin-post.php create mode 100644 tests/fixture/wp-admin/admin.php diff --git a/.gitignore b/.gitignore index 64c7ae1..974582d 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,6 @@ Thumbs.db # Local test/coverage output coverage/ .phpunit.result.cache +node_modules/ +test-results/ +playwright-report/ diff --git a/feca_mailshots_plugin/feca_mailshots_plugin.php b/feca_mailshots_plugin/feca_mailshots_plugin.php index e8cf9bb..9a48ea1 100644 --- a/feca_mailshots_plugin/feca_mailshots_plugin.php +++ b/feca_mailshots_plugin/feca_mailshots_plugin.php @@ -3,7 +3,7 @@ * Plugin Name: FECA Mailshots * Plugin URI: https://fenedge.co.uk/ * Description: FECA mailshots plugin. - * Version: 0.1.6 + * Version: 0.1.26 * Requires at least: 6.0 * Requires PHP: 7.4 * Author: FECA diff --git a/feca_mailshots_plugin/src/Admin/AttachmentsAdminPage.php b/feca_mailshots_plugin/src/Admin/AttachmentsAdminPage.php index 13f629e..8e4212d 100644 --- a/feca_mailshots_plugin/src/Admin/AttachmentsAdminPage.php +++ b/feca_mailshots_plugin/src/Admin/AttachmentsAdminPage.php @@ -74,7 +74,7 @@ final class AttachmentsAdminPage echo '