Streamlining Drupal End-to-End Testing with Docker, JSON-RPC, and GitHub Actions
Prabashwara Seneviratne details how Nuvole implemented efficient end-to-end (E2E) tests for ILO Live, a headless Drupal–Next.js platform. The team used a private JSON-RPC API to dynamically configure Drupal test states and a custom Docker image to speed up environment setup. This enabled rapid, realistic E2E testing, including live-stream simulation via AWS AppSync.
Key innovations include using JSON-RPC to create and reset content during tests, and replacing MariaDB with SQLite in Docker to accelerate CMS startup. Tests were integrated into GitHub Actions using Cypress, and custom Cypress commands streamlined API calls and page validations.
Over 50 tests now run in under eight minutes, providing reliable validation of critical features like live events. This approach not only increased test speed but also simplified developer workflows. The post offers concrete, reproducible strategies for other teams adopting Drupal as a backend in decoupled architectures.
