public function setUp() { if (!class_exists('TableWithStateMachineBehavior')) { $schema = <<<EOF <database name="state_machine_behavior" defaultIdMethod="native"> <table name="table_with_state_machine_behavior"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <behavior name="state_machine"> <parameter name="states" value="draft, unpublished, published" /> <parameter name="initial_state" value="draft" /> <parameter name="transition" value="draft to published with publish" /> <parameter name="transition" value="published to unpublished with unpublish" /> <parameter name="transition" value="unpublished to published with publish" /> <parameter name="state_column" value="state" /> </behavior> </table> <table name="table_with_state_machine_behavior_with_custom_column"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <behavior name="state_machine"> <parameter name="states" value="draft, published, not_yEt_published, flagged" /> <parameter name="initial_state" value="draft" /> <parameter name="transition" value="draft to published with publish" /> <parameter name="transition" value="published to not_yet_published with unpublish" /> <parameter name="transition" value="not_yEt_published to published with publish" /> <parameter name="transition" value="not_yEt_published to flagged with flag_for_publish" /> <parameter name="transition" value="flagged to published with publish" /> <parameter name="state_column" value="my_state" /> </behavior> </table> </database> EOF; $builder = new QuickBuilder(); $config = $builder->getConfig(); $builder->setConfig($config); $builder->setSchema($schema); $builder->build(); } }
public function testToArrayKeyTypePreDefined() { $schema = <<<EOF <database name="test" namespace="MyNameSpace"> <table name="test_key_type_table"> <column name="id_key_type" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="name_key_type" type="VARCHAR" /> </table> </database> EOF; $extraConf['propel']['generator']['objectModel']['defaultKeyType'] = 'camelName'; $generatorConfig = new QuickGeneratorConfig($extraConf); $builder = new QuickBuilder(); $builder->setSchema($schema); $builder->setConfig($generatorConfig); $builder->buildClasses(); $expectedKeys = array('idKeyType', 'nameKeyType'); $object = new TestKeyTypeTable(); $this->assertEquals($expectedKeys, array_keys($object->toArray()), 'toArray() returns an associative array with pre-defined key type in properties.'); }