2017-11-10 15:23:02 +00:00
|
|
|
<?php
|
2017-11-15 21:07:44 +00:00
|
|
|
|
|
|
|
namespace Tainacan\Tests;
|
|
|
|
|
2017-11-10 15:23:02 +00:00
|
|
|
/**
|
|
|
|
* Class TestCollections
|
|
|
|
*
|
|
|
|
* @package Test_Tainacan
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sample test case.
|
|
|
|
*/
|
2017-12-04 18:20:49 +00:00
|
|
|
class Taxonomies extends TAINACAN_UnitTestCase {
|
2017-11-10 15:23:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Teste da insercao de uma taxonomia simples
|
|
|
|
*/
|
|
|
|
function test_add() {
|
2018-03-20 16:04:02 +00:00
|
|
|
$Tainacan_Taxonomies = \Tainacan\Repositories\Taxonomies::getInstance();
|
2017-11-10 15:23:02 +00:00
|
|
|
|
2017-12-04 18:20:49 +00:00
|
|
|
$taxonomy = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'taxonomy',
|
|
|
|
array(
|
|
|
|
'name' => 'genero',
|
|
|
|
'description' => 'tipos de musica',
|
|
|
|
'allow_insert' => 'yes'
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-11-10 15:23:02 +00:00
|
|
|
|
|
|
|
//retorna a taxonomia
|
2017-11-21 11:15:44 +00:00
|
|
|
$test = $Tainacan_Taxonomies->fetch($taxonomy->get_id());
|
2017-11-10 15:23:02 +00:00
|
|
|
|
|
|
|
$this->assertEquals( $test->get_name(), 'genero' );
|
|
|
|
$this->assertEquals( $test->get_description(), 'tipos de musica' );
|
2017-12-01 16:06:35 +00:00
|
|
|
$this->assertEquals( $test->get_allow_insert(), 'yes' );
|
2017-11-11 22:25:54 +00:00
|
|
|
$this->assertEquals( taxonomy_exists( $test->get_db_identifier() ) , true );
|
2017-11-10 15:23:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function test_add_term_taxonomy(){
|
2018-03-21 12:20:00 +00:00
|
|
|
$Tainacan_Taxonomies = \Tainacan\Repositories\Taxonomies::getInstance();
|
|
|
|
$Tainacan_Terms = \Tainacan\Repositories\Terms::getInstance();
|
2017-11-10 15:23:02 +00:00
|
|
|
|
2017-12-04 18:20:49 +00:00
|
|
|
$taxonomy = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'taxonomy',
|
|
|
|
array(
|
|
|
|
'name' => 'genero',
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-11-10 15:23:02 +00:00
|
|
|
|
|
|
|
//retorna a taxonomia
|
2017-11-21 11:15:44 +00:00
|
|
|
$taxonomy_test = $Tainacan_Taxonomies->fetch($taxonomy->get_id());
|
2017-11-10 15:23:02 +00:00
|
|
|
|
2017-12-04 18:20:49 +00:00
|
|
|
$term = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'term',
|
|
|
|
array(
|
|
|
|
'taxonomy' => $taxonomy_test->get_db_identifier(),
|
|
|
|
'name' => 'Rock',
|
|
|
|
'user' => 56
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-11-10 15:23:02 +00:00
|
|
|
|
2017-11-10 16:39:27 +00:00
|
|
|
//retorna um objeto da classe Tainacan_Term
|
2018-03-05 16:06:01 +00:00
|
|
|
$test = $Tainacan_Terms->fetch($term->get_term_id(), $taxonomy_test);
|
2017-11-10 16:39:27 +00:00
|
|
|
$this->assertEquals( $test->get_name(), 'Rock' );
|
|
|
|
$this->assertEquals( $test->get_user(), 56 );
|
2017-11-10 15:23:02 +00:00
|
|
|
}
|
2018-04-10 17:13:20 +00:00
|
|
|
|
|
|
|
function test_terms_of_draft_taxonomy() {
|
|
|
|
|
|
|
|
$taxonomy = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'taxonomy',
|
|
|
|
array(
|
|
|
|
'name' => 'genero',
|
|
|
|
'description' => 'tipos de musica',
|
|
|
|
'allow_insert' => 'yes',
|
|
|
|
'status' => 'publish'
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
|
|
|
|
|
|
|
$Tainacan_Taxonomies = \Tainacan\Repositories\Taxonomies::getInstance();
|
|
|
|
$Tainacan_Terms = \Tainacan\Repositories\Terms::getInstance();
|
|
|
|
|
|
|
|
$terms = $Tainacan_Terms->fetch(['hide_empty' => false], $taxonomy->get_id());
|
|
|
|
|
|
|
|
$this->assertEquals(0, sizeof($terms), 'new auto draft taxonomy should return 0 terms');
|
|
|
|
|
|
|
|
$term = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'term',
|
|
|
|
array(
|
|
|
|
'taxonomy' => $taxonomy->get_db_identifier(),
|
|
|
|
'name' => 'Rock',
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$terms = $Tainacan_Terms->fetch(['hide_empty' => false], $taxonomy->get_id());
|
|
|
|
|
|
|
|
$this->assertEquals(1, sizeof($terms), 'you should be able to create a term even if the taxonomy is still auto-draft');
|
|
|
|
|
|
|
|
}
|
2017-11-10 15:23:02 +00:00
|
|
|
}
|