Fr3nch13/CakePHP Utilities

MenuLinkTreesFixture extends TestFixture
in package

NumberTreeFixture

Generates a tree of data for use testing the tree behavior

Table of Contents

Properties

$connection  : string
Fixture Datasource
$fields  : array<string|int, mixed>
fields property
$import  : array<string|int, mixed>|null
Configuration for importing fixture schema
$records  : array<string|int, mixed>
Records
$table  : string
Full Table Name
$_constraints  : array<string, mixed>
Fixture constraints to be created.
$_schema  : TableSchemaInterface|SqlGeneratorInterface
The schema for this fixture.
$_tableLocator  : LocatorInterface|null
Table locator instance
$defaultTable  : string|null
This object's default table alias.

Methods

__construct()  : mixed
Instantiate the fixture.
connection()  : string
Get the connection name this fixture should be inserted into.
create()  : bool
Create the fixture schema/mapping/definition
createConstraints()  : bool
Build and execute SQL queries necessary to create the constraints for the fixture
drop()  : bool
Run after all tests executed, should remove the table/collection from the connection.
dropConstraints()  : bool
Build and execute SQL queries necessary to drop the constraints for the fixture
fetchTable()  : Table
Convenience method to get a table instance.
getTableLocator()  : LocatorInterface
Gets the table locator.
getTableSchema()  : TableSchemaInterface|SqlGeneratorInterface
Get and set the schema for this fixture.
init()  : void
Initialize the fixture.
insert()  : StatementInterface|bool
Run before each test is executed.
setTableLocator()  : $this
Sets the table locator.
setTableSchema()  : $this
Get and set the schema for this fixture.
sourceName()  : string
Get the table/collection name for this fixture.
truncate()  : bool
Truncates the current fixture.
_getRecords()  : array<string|int, mixed>
Converts the internal records into data used to generate a query.
_schemaFromFields()  : void
Build the fixtures table schema from the fields property.
_schemaFromImport()  : void
Build fixture schema from a table in another datasource.
_schemaFromReflection()  : void
Build fixture schema directly from the datasource
_tableFromClass()  : string
Returns the table name using the fixture class

Properties

$connection

Fixture Datasource

public string $connection = 'test'

$fields

fields property

public array<string|int, mixed> $fields = ['id' => ['type' => 'integer'], 'menu' => ['type' => 'string', 'null' => false], 'lft' => ['type' => 'integer'], 'rght' => ['type' => 'integer'], 'parent_id' => 'integer', 'url' => ['type' => 'string', 'null' => false], 'title' => ['type' => 'string', 'null' => false], '_constraints' => ['primary' => ['type' => 'primary', 'columns' => ['id']]]]

$import

Configuration for importing fixture schema

public array<string|int, mixed>|null $import

Accepts a connection and model or table key, to define which table and which connection contain the schema to be imported.

$records

Records

public array<string|int, mixed> $records = [['menu' => 'main-menu', 'lft' => '1', 'rght' => '10', 'parent_id' => null, 'url' => '/link1.html', 'title' => 'Link 1'], ['menu' => 'main-menu', 'lft' => '2', 'rght' => '3', 'parent_id' => '1', 'url' => 'http://example.com', 'title' => 'Link 2'], ['menu' => 'main-menu', 'lft' => '4', 'rght' => '9', 'parent_id' => '1', 'url' => '/what/even-more-links.html', 'title' => 'Link 3'], ['menu' => 'main-menu', 'lft' => '5', 'rght' => '8', 'parent_id' => '3', 'url' => '/lorem/ipsum.html', 'title' => 'Link 4'], ['menu' => 'main-menu', 'lft' => '6', 'rght' => '7', 'parent_id' => '4', 'url' => '/what/the.html', 'title' => 'Link 5'], ['menu' => 'main-menu', 'lft' => '11', 'rght' => '14', 'parent_id' => null, 'url' => '/yeah/another-link.html', 'title' => 'Link 6'], ['menu' => 'main-menu', 'lft' => '12', 'rght' => '13', 'parent_id' => '6', 'url' => 'https://cakephp.org', 'title' => 'Link 7'], ['menu' => 'main-menu', 'lft' => '15', 'rght' => '16', 'parent_id' => null, 'url' => '/page/who-we-are.html', 'title' => 'Link 8'], ['menu' => 'categories', 'lft' => '1', 'rght' => '10', 'parent_id' => null, 'url' => '/cagetory/electronics.html', 'title' => 'electronics'], ['menu' => 'categories', 'lft' => '2', 'rght' => '9', 'parent_id' => '9', 'url' => '/category/televisions.html', 'title' => 'televisions'], ['menu' => 'categories', 'lft' => '3', 'rght' => '4', 'parent_id' => '10', 'url' => '/category/tube.html', 'title' => 'tube'], ['menu' => 'categories', 'lft' => '5', 'rght' => '8', 'parent_id' => '10', 'url' => '/category/lcd.html', 'title' => 'lcd'], ['menu' => 'categories', 'lft' => '6', 'rght' => '7', 'parent_id' => '12', 'url' => '/category/plasma.html', 'title' => 'plasma'], ['menu' => 'categories', 'lft' => '11', 'rght' => '20', 'parent_id' => null, 'url' => '/category/portable.html', 'title' => 'portable'], ['menu' => 'categories', 'lft' => '12', 'rght' => '15', 'parent_id' => '14', 'url' => '/category/mp3.html', 'title' => 'mp3'], ['menu' => 'categories', 'lft' => '13', 'rght' => '14', 'parent_id' => '15', 'url' => '/category/flash.html', 'title' => 'flash'], ['menu' => 'categories', 'lft' => '16', 'rght' => '17', 'parent_id' => '14', 'url' => '/category/cd.html', 'title' => 'cd'], ['menu' => 'categories', 'lft' => '18', 'rght' => '19', 'parent_id' => '14', 'url' => '/category/radios.html', 'title' => 'radios']]

main-menu:

  • Link 1:1
    • Link 2:2
    • Link 3:3
      • Link 4:4
        • Link 5:5
  • Link 6:6
    • Link 7:7
  • Link 8:8

categories:

  • electronics:9
    • televisions:10
      • tube:11
      • lcd:12
      • plasma:13
    • portable:14
      • mp3:15
        • flash:16
      • cd:17
      • radios:18

Note: title:id

$table

Full Table Name

public string $table
Tags
psalm-suppress

PropertyNotSetInConstructor

$_constraints

Fixture constraints to be created.

protected array<string, mixed> $_constraints = []

$defaultTable

This object's default table alias.

protected string|null $defaultTable = null

Methods

__construct()

Instantiate the fixture.

public __construct() : mixed
Tags
throws
CakeException

on invalid datasource usage.

connection()

Get the connection name this fixture should be inserted into.

public connection() : string
Tags
inheritDoc
Return values
string

create()

Create the fixture schema/mapping/definition

public create(ConnectionInterface $connection) : bool
Parameters
$connection : ConnectionInterface

An instance of the connection the fixture should be created on.

Tags
inheritDoc
Return values
bool —

True on success, false on failure.

createConstraints()

Build and execute SQL queries necessary to create the constraints for the fixture

public createConstraints(ConnectionInterface $connection) : bool
Parameters
$connection : ConnectionInterface

An instance of the database into which the constraints will be created.

Tags
inheritDoc
Return values
bool —

on success or if there are no constraints to create, or false on failure

drop()

Run after all tests executed, should remove the table/collection from the connection.

public drop(ConnectionInterface $connection) : bool
Parameters
$connection : ConnectionInterface

An instance of the connection the fixture should be removed from.

Tags
inheritDoc
Return values
bool —

True on success, false on failure.

dropConstraints()

Build and execute SQL queries necessary to drop the constraints for the fixture

public dropConstraints(ConnectionInterface $connection) : bool
Parameters
$connection : ConnectionInterface

An instance of the database into which the constraints will be dropped.

Tags
inheritDoc
Return values
bool —

on success or if there are no constraints to drop, or false on failure

fetchTable()

Convenience method to get a table instance.

public fetchTable([string|null $alias = null ][, array<string, mixed> $options = [] ]) : Table
Parameters
$alias : string|null = null

The alias name you want to get. Should be in CamelCase format. If null then the value of $defaultTable property is used.

$options : array<string, mixed> = []

The options you want to build the table with. If a table has already been loaded the registry options will be ignored.

Tags
throws
CakeException

If $alias argument and $defaultTable property both are null.

see
TableLocator::get()
since
4.3.0
Return values
Table

setTableSchema()

Get and set the schema for this fixture.

public setTableSchema(mixed $schema) : $this
Parameters
$schema : mixed

The table to set.

Tags
inheritDoc
Return values
$this

sourceName()

Get the table/collection name for this fixture.

public sourceName() : string
Tags
inheritDoc
Return values
string

_getRecords()

Converts the internal records into data used to generate a query.

protected _getRecords() : array<string|int, mixed>
Return values
array<string|int, mixed>

_schemaFromFields()

Build the fixtures table schema from the fields property.

protected _schemaFromFields() : void

_schemaFromImport()

Build fixture schema from a table in another datasource.

protected _schemaFromImport() : void
Tags
throws
CakeException

when trying to import from an empty table.

_schemaFromReflection()

Build fixture schema directly from the datasource

protected _schemaFromReflection() : void
Tags
throws
CakeException

when trying to reflect a table that does not exist

_tableFromClass()

Returns the table name using the fixture class

protected _tableFromClass() : string
Return values
string

        
On this page

Search results