Test Plugin
This is a UI test plugin for October CMS. Extract this archive to /plugins/october/test
and click on Playground in the back-end area. If the backend dashboard is open already, you have to sign out and sign in again for the plugin tables to be created.
The following sections are explored, tested and demonstrated along with a list of the features used:
Test 1: People
A Person "Has One" Phone (One to one relationship)
- Relation Controller
- Record Finder
- Proxy Form fields
- Date pickers
- Context-based Form fields
Test 2: Posts
A Post "Has Many" Comments (One to many relationship)
- Relation Controller
- Popup-based Form fields
- Rich Editor
- Dual Form Controller and List Controller
- HTML in comments
- Custom Delete workflow
- Repeater fields in comments popup
Test 3: Users
User "Belongs To Many" Roles (Many to many relationship)
- Relation Controller (Standard, Pivot data, Pivot model)
- Image Uploaders (Single, Multi, File, Image)
- Number field
- No click list column
- Custom File model
- Form field partial
- Tag List in relation mode
Test 4: Locations (A)
- City "Has Many" Locations
- City "Belongs To" Country
- Location "Belongs To" Country
- Location "Belongs To" City
Test 4: Countries (B)
A Country "Has Many" Posts "Through" a User (Has many through relationship)
- Checkbox list
- Default form field values
- Field dependency and filtering
- Repeater fields
- Tabs empty with no fields
Test 4: Cities (C)
A City "Belongs To" a Country and "Has Many" Locations.
Test 5: Reviews
- Reviews "Morph To" Plugins and Themes as Product (Polymorphic relationships)
- Meta "Morph To" Plugins and Themes as Product (Polymorphic relationships)
- Plugins and Themes "Morph Many" Reviews
- Plugins and Themes "Morph One" Meta
- Plugins should not create when Meta validation fails.
Test 6: Galleries
- Galleries are "Morphed By Many" Posts
- Posts "Morph To Many" Galleries
Test 7: Trees
- A Member uses a simple tree (parent-child) structure.
- A Category uses a simple tree structure, with sorting.
- A Channel uses a nested set tree structure.
Test 8: Attributes
An Attribute is a single generic model with many relationship types.
- Posts "Belong To" (Attribute) Status (
general.status
). - Countries "Belong To Many" (Attribute) Types (
general.types
).
Test 9: Pages
- Page "Belongs To" Layout
Tests that need attention
-
An attach relation when required inside a tab does not make the tab active.
-
Proxy fields throw a nasty error when the relation is non existant.
-
Record Finder does not incorporate deferred bindings.
-
HasOne relations acting as HasMany will break the list completely.
-
Pivot model with required field doesn't show the asterisk on the form.
Incorporating functional tests
-
All relation controllers
-
Test that input preset API works on fields
-
Test that trigger API works on fields