mirror of
https://github.com/silverstripe/silverstripe-frameworktest
synced 2024-10-22 11:06:02 +02:00
79 lines
3.1 KiB
Markdown
79 lines
3.1 KiB
Markdown
# Framework Test Module
|
|
|
|
## Introduction
|
|
|
|
Aids core and module developers in testing their code against
|
|
a set of sample data and behaviour.
|
|
|
|
* Shows all core form fields, including their disabled and readonly state
|
|
* Shows sample GridField instance including data
|
|
* Creates sample members (to efficiently test SecurityAdmin)
|
|
* Creates a sample ModelAdmin instance (available at `admin/test`)
|
|
* (Optional) Three-step process for the [multiform](http://www.silverstripe.org/multi-form-module/) module
|
|
* (Optional) Sample page for the [tagfield](http://www.silverstripe.org/tag-field-module/) module
|
|
* (Optional) Sample page for the [recaptcha](http://www.silverstripe.org/recaptcha-module/) module
|
|
|
|
## Usage
|
|
|
|
Simply running `sake db:build` will take care of most sample data setup.
|
|
|
|
In order to use any of the optional test behaviour targeted at modules,
|
|
install the module and remove the `_manifest_exclude` file from the relevant folder.
|
|
For example, to test the tagfield module, remove the `frameworktest/code/tagfield/_manifest_exclude` file.
|
|
|
|
## More sample data
|
|
|
|
The module creates some default pages for different CMS behaviours.
|
|
The CMS is intended to be perform well with a couple of thousand pages.
|
|
If you want to test the CMS behaviour for a large and nested tree,
|
|
the module includes a simple generator task: `sake tasks:FTPageMakerTask`.
|
|
It will create 3^5 pages by default, so takes a while to run through.
|
|
|
|
## Configuring the amount of data
|
|
|
|
Both `FTPageMagerTask` and `FTFileMakerTask` allow the amount of generated content to be configured.
|
|
To do this, pass a comma-seprarated list of integers representing the amount of records to create at each
|
|
depth.
|
|
|
|
`$ vendor/bin/sake tasks:FTPageMakerTask --pageCounts=10,200,5,5`
|
|
|
|
`$ vendor/bin/sake tasks:FTFileMakerTask --fileCounts=5,300,55,5 --folderCounts=1,5,5,5`
|
|
|
|
## Guaranteed unique images
|
|
|
|
The `FTFileMakerTask` will randomly watermark each reference to your images by default. If you want to disable this,
|
|
set the `uniqueImages` config variable to `false`.
|
|
|
|
## Blocks
|
|
|
|
When [dnadesign/silverstripe-elemental](https://github.com/dnadesign/silverstripe-elemental)
|
|
is installed, the `FTPageMakerTask` can also generate blocks within those pages automatically.
|
|
It has a few hardcoded sample data structures for common block types,
|
|
and randomly creates a number of blocks, as well as randomly choosing to publish them.
|
|
Relies on files and images being available to add as sample data.
|
|
|
|
Additional setup:
|
|
|
|
```
|
|
composer require dnadesign/silverstripe-elemental
|
|
composer require silverstripe/elemental-bannerblock
|
|
composer require silverstripe/elemental-fileblock
|
|
```
|
|
|
|
Usage:
|
|
|
|
```
|
|
# Generate some sample files to associate with blocks
|
|
sake tasks:FTFileMakerTask
|
|
sake tasks:FTPageMakerTask withBlocks=true
|
|
```
|
|
|
|
## Requirements
|
|
|
|
The module is intended to run against the latest core codebase,
|
|
but also includes branches matching earlier core releases for backwards compatibility.
|
|
|
|
## Related
|
|
|
|
* [zframeworktest_dbswitcher](https://github.com/silverstripe-labs/zframeworktest_dbswitcher) module - adds capabilities to switch the database by a query parameter for testing purposes
|