Go to file
dependabot[bot] d0f412f0c0
Bump ip from 2.0.0 to 2.0.1
Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](https://github.com/indutny/node-ip/compare/v2.0.0...v2.0.1)

- dependency-name: ip
  dependency-type: indirect

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-20 23:44:39 +00:00
.github/workflows MNT Add merge-up and keepalive workflows 2023-08-22 14:31:20 +12:00
_config NEW Add fixtures for arbitrary data gridfield behat tests 2023-12-11 12:31:05 +13:00
client MNT Update dev JS 2023-04-03 14:34:04 +12:00
code MNT Behat test LinkField page and LinkField block (#162) 2024-02-13 14:27:18 +13:00
css ENHANCEMENT Migrated Stig's GridfieldTest module into here 2012-02-29 15:10:34 +01:00
images NEW: More complete block content, unique images with watermarks 2021-05-03 13:36:06 +12:00
templates NEW Add fixtures for arbitrary data gridfield behat tests 2023-12-11 12:31:05 +13:00
.editorconfig Rebased with webpack 2016-09-29 13:39:07 +13:00
.eslintignore Added TestReactFormBuilder admin section, this utilises BasicFieldsTestPage fields currently. 2016-09-28 11:42:20 +13:00
.eslintrc.js MNT Add yarn lint back in 2023-01-13 15:23:09 +13:00
.gitignore new gitignore 2017-11-29 11:46:19 +13:00
.nvmrc DEP Upgrade build stack (#133) 2022-12-19 10:20:07 +13:00
LICENSE MNT Update LICENSE (#142) 2023-06-26 15:02:59 +12:00
README.md Add counts to file task, update readme 2021-05-10 13:19:27 +12:00
_config.php Update deprecated API 2017-01-11 10:47:17 +13:00
code-of-conduct.md Added standard code of conduct file 2016-02-16 11:37:34 +13:00
composer.json DEP Upgrade installer dependencies CMS5 2022-10-26 13:03:05 +13:00
package.json Bump webpack from 5.75.0 to 5.76.0 2023-08-31 00:20:54 +00:00
webpack.config.js DEP Upgrade build stack (#133) 2022-12-19 10:20:07 +13:00
yarn.lock Bump ip from 2.0.0 to 2.0.1 2024-02-20 23:44:39 +00:00


Framework Test Module


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 module
  • (Optional) Sample page for the tagfield module
  • (Optional) Sample page for the recaptcha module


Simply running dev/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: dev/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 dev/tasks/FTPageMakerTask pageCounts=10,200,5,5

$ vendor/bin/sake dev/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.


When 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


# Generate some sample files to associate with blocks
sake dev/tasks/FTFileMakerTask
sake dev/tasks/FTPageMakerTask withBlocks=true


The module is intended to run against the latest core codebase, but also includes branches matching earlier core releases for backwards compatibility.