2017-11-12 23:14:47 +00:00
|
|
|
<?php
|
2017-11-15 18:50:11 +00:00
|
|
|
|
|
|
|
namespace Tainacan\Tests;
|
|
|
|
|
2017-11-12 23:14:47 +00:00
|
|
|
/**
|
|
|
|
* Class TestCollections
|
|
|
|
*
|
|
|
|
* @package Test_Tainacan
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sample test case.
|
|
|
|
*/
|
2017-12-04 14:58:19 +00:00
|
|
|
class Item_Metadata extends TAINACAN_UnitTestCase {
|
2017-11-12 23:14:47 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Teste da insercao de um metadado simples sem o tipo
|
|
|
|
*/
|
|
|
|
function test_add() {
|
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
global $Tainacan_Metadatas, $Tainacan_Item_Metadata;
|
|
|
|
|
|
|
|
$collection = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'collection',
|
|
|
|
array(
|
|
|
|
'name' => 'teste'
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
|
|
|
|
|
|
|
$type = $this->tainacan_field_factory->create_field('text');
|
|
|
|
|
|
|
|
$metadata = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'metadata',
|
|
|
|
array(
|
|
|
|
'name' => 'metadado',
|
|
|
|
'description' => 'descricao',
|
|
|
|
'collection' => $collection,
|
2017-12-05 17:42:15 +00:00
|
|
|
'field_type' => $type
|
2017-12-04 14:58:19 +00:00
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-11-21 11:15:44 +00:00
|
|
|
$test = $Tainacan_Metadatas->fetch($metadata->get_id());
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
$i = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'item',
|
|
|
|
array(
|
|
|
|
'title' => 'item teste',
|
|
|
|
'description' => 'adasdasdsa',
|
|
|
|
'collection' => $collection
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-11-13 16:03:04 +00:00
|
|
|
global $Tainacan_Items;
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
$item = $Tainacan_Items->fetch($i->get_id());
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
$item_metadata = new \Tainacan\Entities\Item_Metadata_Entity($item, $test);
|
2017-11-12 23:14:47 +00:00
|
|
|
$item_metadata->set_value('teste_value');
|
2017-12-04 14:58:19 +00:00
|
|
|
|
2017-11-12 23:14:47 +00:00
|
|
|
$item_metadata = $Tainacan_Item_Metadata->insert($item_metadata);
|
|
|
|
|
|
|
|
$this->assertEquals('teste_value', $item_metadata->get_value());
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Teste da insercao de um metadado simples com o tipo
|
|
|
|
*/
|
|
|
|
function teste_required(){
|
2017-12-04 14:58:19 +00:00
|
|
|
global $Tainacan_Metadatas, $Tainacan_Item_Metadata;
|
|
|
|
|
|
|
|
$collection = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'collection',
|
|
|
|
array(
|
|
|
|
'name' => 'teste'
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
|
|
|
|
|
|
|
$type = $this->tainacan_field_factory->create_field('text');
|
|
|
|
|
|
|
|
$metadata = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'metadata',
|
|
|
|
array(
|
|
|
|
'name' => 'metadado',
|
|
|
|
'description' => 'descricao',
|
|
|
|
'collection' => $collection,
|
|
|
|
'required' => 'yes',
|
2017-12-05 17:42:15 +00:00
|
|
|
'field_type' => $type
|
2017-12-04 14:58:19 +00:00
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-11-21 11:15:44 +00:00
|
|
|
$test = $Tainacan_Metadatas->fetch($metadata->get_id());
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
$i = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'item',
|
|
|
|
array(
|
|
|
|
'title' => 'item teste',
|
|
|
|
'description' => 'adasdasdsa',
|
|
|
|
'collection' => $collection
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-11-13 16:03:04 +00:00
|
|
|
global $Tainacan_Items;
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
$item = $Tainacan_Items->fetch($i->get_id());
|
|
|
|
$item_metadata = new \Tainacan\Entities\Item_Metadata_Entity($item, $test);
|
2017-11-12 23:14:47 +00:00
|
|
|
|
|
|
|
// false because its required
|
|
|
|
$this->assertFalse($item_metadata->validate());
|
|
|
|
|
|
|
|
$item_metadata->set_value('teste_value');
|
|
|
|
|
|
|
|
$this->assertTrue($item_metadata->validate());
|
|
|
|
|
|
|
|
$item_metadata = $Tainacan_Item_Metadata->insert($item_metadata);
|
|
|
|
|
|
|
|
$this->assertEquals('teste_value', $item_metadata->get_value());
|
|
|
|
}
|
|
|
|
|
|
|
|
function teste_collection_key(){
|
2017-12-04 14:58:19 +00:00
|
|
|
global $Tainacan_Metadatas, $Tainacan_Item_Metadata;
|
|
|
|
|
|
|
|
$collection = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'collection',
|
|
|
|
array(
|
|
|
|
'name' => 'teste'
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
|
|
|
|
|
|
|
$type = $this->tainacan_field_factory->create_field('text');
|
|
|
|
|
|
|
|
$metadata = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'metadata',
|
|
|
|
array(
|
|
|
|
'name' => 'metadado',
|
|
|
|
'description' => 'descricao',
|
|
|
|
'collection' => $collection,
|
|
|
|
'collection_key' => 'yes',
|
2017-12-05 17:42:15 +00:00
|
|
|
'field_type' => $type
|
2017-12-04 14:58:19 +00:00
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-11-21 11:15:44 +00:00
|
|
|
$test = $Tainacan_Metadatas->fetch($metadata->get_id());
|
2017-12-04 14:58:19 +00:00
|
|
|
|
|
|
|
$i = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'item',
|
|
|
|
array(
|
|
|
|
'title' => 'item teste',
|
|
|
|
'description' => 'adasdasdsa',
|
|
|
|
'collection' => $collection
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-11-13 16:03:04 +00:00
|
|
|
global $Tainacan_Items;
|
2017-11-12 23:14:47 +00:00
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
$item = $Tainacan_Items->fetch($i->get_id());
|
|
|
|
|
2017-11-12 23:14:47 +00:00
|
|
|
$value = 'teste_val';
|
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
$item_metadata = new \Tainacan\Entities\Item_Metadata_Entity($item, $test);
|
2017-11-12 23:14:47 +00:00
|
|
|
$item_metadata->set_value($value);
|
2017-12-04 14:58:19 +00:00
|
|
|
|
2017-11-12 23:14:47 +00:00
|
|
|
$this->assertTrue($item_metadata->validate());
|
2017-12-04 14:58:19 +00:00
|
|
|
|
2017-11-30 18:00:25 +00:00
|
|
|
$item_metadata->validate();
|
2017-11-12 23:14:47 +00:00
|
|
|
$item_metadata = $Tainacan_Item_Metadata->insert($item_metadata);
|
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
$n_item_metadata = new \Tainacan\Entities\Item_Metadata_Entity($item, $test);
|
2017-11-12 23:14:47 +00:00
|
|
|
$n_item_metadata->set_value($value);
|
2017-12-04 14:58:19 +00:00
|
|
|
|
2017-11-12 23:14:47 +00:00
|
|
|
$this->assertFalse($n_item_metadata->validate());
|
|
|
|
}
|
2017-12-03 21:49:50 +00:00
|
|
|
|
|
|
|
function teste_fetch(){
|
2017-12-04 14:58:19 +00:00
|
|
|
global $Tainacan_Item_Metadata;
|
|
|
|
|
|
|
|
$collection = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'collection',
|
|
|
|
array(
|
|
|
|
'name' => 'teste'
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
$type = $this->tainacan_field_factory->create_field('text');
|
|
|
|
|
2017-12-04 18:20:49 +00:00
|
|
|
$this->tainacan_entity_factory->create_entity(
|
2017-12-04 14:58:19 +00:00
|
|
|
'metadata',
|
|
|
|
array(
|
|
|
|
'name' => 'metadado',
|
|
|
|
'description' => 'descricao',
|
|
|
|
'collection' => $collection,
|
|
|
|
'status' => 'publish',
|
2017-12-05 17:42:15 +00:00
|
|
|
'field_type' => $type
|
2017-12-04 14:58:19 +00:00
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
2017-12-03 21:49:50 +00:00
|
|
|
|
|
|
|
//$test = $Tainacan_Metadatas->fetch($metadata->get_id());
|
|
|
|
|
2017-12-04 14:58:19 +00:00
|
|
|
$i = $this->tainacan_entity_factory->create_entity(
|
|
|
|
'item',
|
|
|
|
array(
|
|
|
|
'title' => 'item teste',
|
|
|
|
'description' => 'adasdasdsa',
|
|
|
|
'collection' => $collection
|
|
|
|
),
|
|
|
|
true
|
|
|
|
);
|
|
|
|
|
|
|
|
$item_metadatas = $Tainacan_Item_Metadata->fetch($i, 'OBJECT');
|
|
|
|
|
|
|
|
$this->assertTrue(is_array($item_metadatas));
|
|
|
|
$this->assertEquals(1, sizeof($item_metadatas));
|
|
|
|
$this->assertEquals('metadado', $item_metadatas[0]->get_metadata()->get_name());
|
2017-12-03 21:49:50 +00:00
|
|
|
|
|
|
|
}
|
2017-11-12 23:14:47 +00:00
|
|
|
}
|