As a developer,
I want to prevent accidental errors,
so that I can safely A/B test new features
Acceptance Criteria:
- There is a command added to the FundraisingFrontend console that validates the camapigns.yml file according to the following criteria:
- The indentation is correct
- All required parameters are present
- The start and end dates must be quoted and in the format YYYY-MM-DD or YYYY-MM-DD H:i:s. All dates are considered to be in the Europe/Berlin timezone.
- The end date must be after the start date.
- The default_bucket must be part of the buckets definition.
- Bucket names beginning with digits (e.g. 10h16) must be quoted, both for buckets and default_bucket.
- Ensure that all buckets are unique
- The validation command is added to the CI ( ci task in the Makefile)
Background:
Basic checks for required parameters and correct structure of the file are already done by the CategoryConfiguration class.
This task is different from T196929: Create code analysis tool that checks all A/B tests are implemented, which is about checking if the code actually implements the campaigns described in the configuration file.