This comprehensive guide details how PHPUnit testing is implemented in Willow CMS, both locally and through GitHub Actions. The testing infrastructure includes 116 tests and 414 assertions, providing robust quality assurance. The setup revolves around five key components: a PHPUnit configuration file, GitHub Actions for continuous integration, shared test case code for DRY principles, controller tests for critical functionality, and code coverage reporting. The system uses random test execution to ensure independence and includes both admin and non-admin testing scenarios. The GitHub Actions workflow is particularly noteworthy, running tests across multiple PHP versions and incorporating various quality checks including PHPStan and PHP CodeSniffer.


This article provides a comprehensive breakdown of Docker Compose configuration for Willow CMS's development environment. The setup includes multiple containerized services: the main WillowCMS application server, MySQL database, phpMyAdmin, Jenkins for CI/CD, Mailpit for email testing, and Redis Commander for cache management. Each service is carefully configured with specific ports, volumes, and environment variables to ensure smooth integration and development workflow. The environment can be easily started using a custom setup script that handles initialization, database setup, and provides options for managing the development environment. The article concludes with a detailed explanation of the WillowCMS Dockerfile, covering everything from base image selection to service configuration and process management.


Page 1 of 1, showing 2 record(s) out of 2 total

About

Welcome to willowcms.app. This site uses Willow - a content management system I'm building in the open. Here you'll find development updates, feature highlights, and guides on using Willow for your own sites.

Featured posts

Elsewhere

  1. GitHub

Feeds

  1. RSS Feed