wordpress-develop/tests/phpunit/includes/factory/class-wp-unittest-factory.php
2021-02-09 13:22:47 +00:00

96 lines
2.1 KiB
PHP

<?php
/**
* A factory for making WordPress data with a cross-object type API.
*
* Tests should use this factory to generate test fixtures.
*/
class WP_UnitTest_Factory {
/**
* Generates post fixtures for use in tests.
*
* @var WP_UnitTest_Factory_For_Post
*/
public $post;
/**
* Generates attachment fixtures for use in tests.
*
* @var WP_UnitTest_Factory_For_Attachment
*/
public $attachment;
/**
* Generates comment fixtures for use in tests.
*
* @var WP_UnitTest_Factory_For_Comment
*/
public $comment;
/**
* Generates user fixtures for use in tests.
*
* @var WP_UnitTest_Factory_For_User
*/
public $user;
/**
* Generates taxonomy term fixtures for use in tests.
*
* @var WP_UnitTest_Factory_For_Term
*/
public $term;
/**
* Generates category fixtures for use in tests.
*
* @var WP_UnitTest_Factory_For_Term
*/
public $category;
/**
* Generates tag fixtures for use in tests.
*
* @var WP_UnitTest_Factory_For_Term
*/
public $tag;
/**
* Generates bookmark (link) fixtures for use in tests.
*
* @since 4.6.0
* @var WP_UnitTest_Factory_For_Bookmark
*/
public $bookmark;
/**
* Generates blog (site) fixtures for use in Multisite tests.
*
* @var WP_UnitTest_Factory_For_Blog
*/
public $blog;
/**
* Generates network fixtures for use in Multisite tests.
*
* @var WP_UnitTest_Factory_For_Network
*/
public $network;
public function __construct() {
$this->post = new WP_UnitTest_Factory_For_Post( $this );
$this->attachment = new WP_UnitTest_Factory_For_Attachment( $this );
$this->comment = new WP_UnitTest_Factory_For_Comment( $this );
$this->user = new WP_UnitTest_Factory_For_User( $this );
$this->term = new WP_UnitTest_Factory_For_Term( $this );
$this->category = new WP_UnitTest_Factory_For_Term( $this, 'category' );
$this->tag = new WP_UnitTest_Factory_For_Term( $this, 'post_tag' );
$this->bookmark = new WP_UnitTest_Factory_For_Bookmark( $this );
if ( is_multisite() ) {
$this->blog = new WP_UnitTest_Factory_For_Blog( $this );
$this->network = new WP_UnitTest_Factory_For_Network( $this );
}
}
}