register default types on init

This commit is contained in:
Eduardo humberto 2017-12-04 16:30:54 -02:00
parent 3b0d738fc2
commit ff09c7bf11
3 changed files with 32 additions and 13 deletions

View File

@ -13,16 +13,7 @@ class Metadatas extends Repository {
public $entities_type = '\Tainacan\Entities\Metadata';
protected $default_metadata = 'default';
public $field_types = [
'\Tainacan\Filter_Types\Checkbox',
'\Tainacan\Filter_Types\Date',
'\Tainacan\Filter_Types\Numeric',
'\Tainacan\Filter_Types\Radio',
'\Tainacan\Filter_Types\Relationship',
'\Tainacan\Filter_Types\Selectbox',
'\Tainacan\Filter_Types\Text',
'\Tainacan\Filter_Types\Textatrea',
];
public $field_types = [];
public function get_map() {
return apply_filters('tainacan-get-map', [
@ -309,7 +300,7 @@ class Metadatas extends Repository {
/**
* fetch all registered field type classes
*
* @return Array of Entities\Filter_Types\Filter_Type objects
* @return array of Entities\Field_Types\Field_Type objects
*/
public function fetch_field_types(){

View File

@ -60,6 +60,16 @@ $Tainacan_Item_Metadata = new \Tainacan\Repositories\Item_Metadata();
global $Tainacan_Metadatas;
$Tainacan_Metadatas = new \Tainacan\Repositories\Metadatas();
//register field types
$Tainacan_Metadatas->register_field_type('\Tainacan\Field_type\Text');
$Tainacan_Metadatas->register_field_type('\Tainacan\Field_type\Textarea');
$Tainacan_Metadatas->register_field_type('\Tainacan\Field_type\Date');
$Tainacan_Metadatas->register_field_type('\Tainacan\Field_type\Numeric');
$Tainacan_Metadatas->register_field_type('\Tainacan\Field_type\Selectbox');
$Tainacan_Metadatas->register_field_type('\Tainacan\Field_type\Relationship');
$Tainacan_Metadatas->register_field_type('\Tainacan\Field_type\Radio');
$Tainacan_Metadatas->register_field_type('\Tainacan\Field_type\Checkbox');
global $Tainacan_Filters;
$Tainacan_Filters = new \Tainacan\Repositories\Filters();

View File

@ -1,7 +1,6 @@
<?php
namespace Tainacan\Tests;
/**
* Class Metadata
*
@ -82,7 +81,9 @@ class Metadata extends TAINACAN_UnitTestCase {
$this->assertEquals($test->get_field_type_object(), $type);
}
/**
* test if parent metadata are visible for children collection
*/
function test_hierarchy_metadata(){
global $Tainacan_Metadatas;
@ -164,4 +165,21 @@ class Metadata extends TAINACAN_UnitTestCase {
$retrieve_metadata = $Tainacan_Metadatas->fetch_by_collection( $collection_son, [], 'OBJECT' );
$this->assertEquals( 4, sizeof( $retrieve_metadata ) );
}
/**
* test if the defaults types are registered
*/
function test_metadata_field_type(){
global $Tainacan_Metadatas;
$this->assertEquals( 8, sizeof( $Tainacan_Metadatas->fetch_field_types() ) );
}
/**
* test if the defaults types are registered
*/
// function test_metadata_field_type_insert(){
// global $Tainacan_Metadatas;
// $class = new \;
// $this->assertEquals( 9, sizeof( $Tainacan_Metadatas->fetch_field_types() ) );
// }
}