You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Guy Sartorelli 7bf069f5bb
Merge pull request #116 from creative-commoners/pulls/4/gridfield-limited-items-per-page
1 month ago
.github/workflows MNT Add update JS deps workflow 6 months ago
_config FIX Only add extension if elemental module exists 3 months ago
client BUG Fix compatibility with latest version 5 years ago
code NEW Test class for GridField with limited number of items in the list 2 months ago
css ENHANCEMENT Migrated Stig's GridfieldTest module into here 11 years ago
images NEW: More complete block content, unique images with watermarks 1 year ago
templates/Layout Fixed deprecated template usage 10 years ago
.editorconfig Rebased with webpack 6 years ago
.eslintignore Added TestReactFormBuilder admin section, this utilises BasicFieldsTestPage fields currently. 6 years ago
.eslintrc.js BUG Fix compatibility with latest version 5 years ago
.gitignore new gitignore 5 years ago
.scrutinizer.yml Added standard Scrutinizer config 7 years ago
.upgrade.yml Namespaced model to get more 4.x test coverage 6 years ago
README.md Add counts to file task, update readme 1 year ago
_config.php Update deprecated API 6 years ago
code-of-conduct.md Added standard code of conduct file 7 years ago
composer.json DEP Update dependencies for CMS 5 2 months ago
package.json BUG Fix compatibility with latest version 5 years ago
webpack.config.js BUG Fix compatibility with latest version 5 years ago
yarn.lock Bump async from 2.5.0 to 2.6.4 5 months ago

README.md

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

Usage

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.

Blocks

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

Usage:

# Generate some sample files to associate with blocks
sake dev/tasks/FTFileMakerTask
sake dev/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.