#!/usr/bin/env php gen(5); su('admin'); /** title=测试 customModel->saveRequiredFields(); timeout=0 cid=1 */ $moduleName = array('product', 'release', 'execution', 'task', 'bug', 'testcase'); $fieldsType = array('create', 'edit', 'finish', 'activate', 'resolve'); $requiredFields = array( 'productFields1' => array(), 'productFields2' => array('requiredFields' => array('create' => array('PO'))), 'productFields3' => array('requiredFields' => array('create' => array('PO', 'RD'))), 'productFields4' => array('requiredFields' => array('edit' => array('PO'))), 'productFields5' => array('requiredFields' => array('edit' => array('PO', 'RD'))), 'productFields6' => array('requiredFields' => array('create' => array('PO', 'RD'), 'edit' => array('PO', 'RD'))), 'releaseFields1' => array(), 'releaseFields2' => array('requiredFields' => array('create' => array('desc'))), 'releaseFields3' => array('requiredFields' => array('edit' => array('desc'))), 'releaseFields4' => array('requiredFields' => array('create' => array('desc'), 'edit' => array('desc'))), 'executionFields1' => array(), 'executionFields2' => array('requiredFields' => array('create' => array('desc'))), 'executionFields3' => array('requiredFields' => array('create' => array('desc', 'days'))), 'executionFields4' => array('requiredFields' => array('edit' => array('desc'))), 'executionFields5' => array('requiredFields' => array('edit' => array('desc', 'days'))), 'executionFields6' => array('requiredFields' => array('create' => array('desc', 'days'), 'edit' => array('desc', 'days'))), 'taskFields1' => array(), 'taskFields2' => array('requiredFields' => array('create' => array('story'))), 'taskFields3' => array('requiredFields' => array('create' => array('story', 'desc'))), 'taskFields4' => array('requiredFields' => array('edit' => array('pri'))), 'taskFields5' => array('requiredFields' => array('edit' => array('pri', 'estimate'))), 'taskFields6' => array('requiredFields' => array('finish' => array('comment'))), 'taskFields7' => array('requiredFields' => array('activate' => array('comment'))), 'taskFields8' => array('requiredFields' => array('activate' => array('comment', 'assignedTo'))), 'taskFields9' => array('requiredFields' => array('create' => array('story'), 'edit' => array('pri'))), 'taskFields10' => array('requiredFields' => array('create' => array('story'), 'edit' => array('pri'), 'finsh' => array('comment'))), 'taskFields11' => array('requiredFields' => array('create' => array('story'), 'edit' => array('pri'), 'finsh' => array('comment'), 'activate' => array('comment'))), 'bugFields1' => array(), 'bugFields2' => array('requiredFields' => array('create' => array('type'))), 'bugFields3' => array('requiredFields' => array('create' => array('type', 'os'))), 'bugFields4' => array('requiredFields' => array('edit' => array('plan'))), 'bugFields5' => array('requiredFields' => array('edit' => array('plan', 'type'))), 'bugFields6' => array('requiredFields' => array('resolve' => array('comment'))), 'bugFields7' => array('requiredFields' => array('resolve' => array('comment', 'assignedTo'))), 'bugFields8' => array('requiredFields' => array('create' => array('type'), 'edit' => array('plan'))), 'bugFields9' => array('requiredFields' => array('create' => array('type'), 'edit' => array('plan'), 'resolve' => array('comment'))), 'testcaseFields1' => array(), 'testcaseFields2' => array('requiredFields' => array('create' => array('stage'))), 'testcaseFields3' => array('requiredFields' => array('create' => array('stage', 'story'))), 'testcaseFields4' => array('requiredFields' => array('edit' => array('stage'))), 'testcaseFields5' => array('requiredFields' => array('edit' => array('stage', 'story'))), 'testcaseFields6' => array('requiredFields' => array('create' => array('stage', 'story'), 'edit' => array('stage', 'story'))), ); $customTester = new customTest(); r($customTester->saveRequiredFieldsTest($moduleName[0], $requiredFields['productFields1'], $fieldsType[0])) && p('value', ';') && e('name,code'); //测试moduleName为product,requiredFields为空 r($customTester->saveRequiredFieldsTest($moduleName[0], $requiredFields['productFields2'], $fieldsType[0])) && p('value', ';') && e('name,code,PO'); //测试moduleName为product,requiredFields中的create存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[0], $requiredFields['productFields3'], $fieldsType[0])) && p('value', ';') && e('name,code,PO,RD'); //测试moduleName为product,requiredFields中的create存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[0], $requiredFields['productFields4'], $fieldsType[1])) && p('value', ';') && e('name,code,PO'); //测试moduleName为product,requiredFields中的edit存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[0], $requiredFields['productFields5'], $fieldsType[1])) && p('value', ';') && e('name,code,PO,RD'); //测试moduleName为product,requiredFields中的edit存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[0], $requiredFields['productFields6'], $fieldsType[0])) && p('value', ';') && e('name,code,PO,RD'); //测试moduleName为product,requiredFields中的create,edit各存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[1], $requiredFields['releaseFields1'], $fieldsType[0])) && p('value', ';') && e('name,date'); //测试moduleName为release,requiredFields为空 r($customTester->saveRequiredFieldsTest($moduleName[1], $requiredFields['releaseFields2'], $fieldsType[0])) && p('value', ';') && e('name,date,desc'); //测试moduleName为release,requiredFields中的create存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[1], $requiredFields['releaseFields3'], $fieldsType[1])) && p('value', ';') && e('name,date,desc'); //测试moduleName为release,requiredFields中的edit存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[1], $requiredFields['releaseFields4'], $fieldsType[0])) && p('value', ';') && e('name,date,desc'); //测试moduleName为release,requiredFields中的create,edit各存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[2], $requiredFields['executionFields1'], $fieldsType[0])) && p('value', ';') && e('name,code,begin,end'); //测试moduleName为execution,requiredFields为空 r($customTester->saveRequiredFieldsTest($moduleName[2], $requiredFields['executionFields2'], $fieldsType[0])) && p('value', ';') && e('name,code,begin,end,desc'); //测试moduleName为execution,requiredFields中的create存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[2], $requiredFields['executionFields3'], $fieldsType[0])) && p('value', ';') && e('name,code,begin,end,desc,days'); //测试moduleName为execution,requiredFields中的create存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[2], $requiredFields['executionFields4'], $fieldsType[1])) && p('value', ';') && e('name,code,begin,end,desc'); //测试moduleName为execution,requiredFields中的edit存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[2], $requiredFields['executionFields5'], $fieldsType[1])) && p('value', ';') && e('name,code,begin,end,desc,days'); //测试moduleName为execution,requiredFields中的edit存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[2], $requiredFields['executionFields6'], $fieldsType[0])) && p('value', ';') && e('name,code,begin,end,desc,days'); //测试moduleName为execution,requiredFields中的create,edit各存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields1'], $fieldsType[0])) && p('value', ';') && e('execution,name,type'); //测试moduleName为task,requiredFields为空 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields2'], $fieldsType[0])) && p('value', ';') && e('execution,name,type,story'); //测试moduleName为task,requiredFields中的create存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields3'], $fieldsType[0])) && p('value', ';') && e('execution,name,type,story,desc'); //测试moduleName为task,requiredFields中的create存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields4'], $fieldsType[1])) && p('value', ';') && e('execution,name,type,pri'); //测试moduleName为task,requiredFields中的edit存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields5'], $fieldsType[1])) && p('value', ';') && e('execution,name,type,pri,estimate'); //测试moduleName为task,requiredFields中的edit存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields7'], $fieldsType[3])) && p('value', ';') && e('left,comment'); //测试moduleName为task,requiredFields中的activate存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields8'], $fieldsType[3])) && p('value', ';') && e('left,comment,assignedTo'); //测试moduleName为task,requiredFields中的activate存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields9'], $fieldsType[0])) && p('value', ';') && e('execution,name,type,story'); //测试moduleName为task,requiredFields中的create,edit各存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields10'], $fieldsType[0])) && p('value', ';') && e('execution,name,type,story'); //测试moduleName为task,requiredFields中的create,edit,finsh各存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields11'], $fieldsType[0])) && p('value', ';') && e('execution,name,type,story'); //测试moduleName为task,requiredFields中的create,edit,finsh,activate各存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[4], $requiredFields['bugFields1'], $fieldsType[0])) && p('value', ';') && e('title,openedBuild'); //测试moduleName为bug,requiredFields为空 r($customTester->saveRequiredFieldsTest($moduleName[4], $requiredFields['bugFields2'], $fieldsType[0])) && p('value', ';') && e('title,openedBuild,type'); //测试moduleName为bug,requiredFields中的create存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[4], $requiredFields['bugFields3'], $fieldsType[0])) && p('value', ';') && e('title,openedBuild,type,os'); //测试moduleName为bug,requiredFields中的create存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[4], $requiredFields['bugFields4'], $fieldsType[1])) && p('value', ';') && e('title,openedBuild,plan'); //测试moduleName为bug,requiredFields中的edit存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[4], $requiredFields['bugFields5'], $fieldsType[1])) && p('value', ';') && e('title,openedBuild,plan,type'); //测试moduleName为bug,requiredFields中的edit存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[4], $requiredFields['bugFields6'], $fieldsType[4])) && p('value', ';') && e('resolution,comment'); //测试moduleName为bug,requiredFields中的resolve存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[4], $requiredFields['bugFields7'], $fieldsType[4])) && p('value', ';') && e('resolution,comment,assignedTo'); //测试moduleName为bug,requiredFields中的resolve存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[4], $requiredFields['bugFields8'], $fieldsType[0])) && p('value', ';') && e('title,openedBuild,type'); //测试moduleName为bug,requiredFields中的create,edit各存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[4], $requiredFields['bugFields9'], $fieldsType[0])) && p('value', ';') && e('title,openedBuild,type'); //测试moduleName为bug,requiredFields中的create,edit,resolve各存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[5], $requiredFields['testcaseFields1'], $fieldsType[0])) && p('value', ';') && e('product,title,type'); //测试moduleName为testcase,requiredFields为空 r($customTester->saveRequiredFieldsTest($moduleName[5], $requiredFields['testcaseFields2'], $fieldsType[0])) && p('value', ';') && e('product,title,type,stage'); //测试moduleName为testcase,requiredFields中的create存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[5], $requiredFields['testcaseFields3'], $fieldsType[0])) && p('value', ';') && e('product,title,type,stage,story'); //测试moduleName为testcase,requiredFields中的create存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[5], $requiredFields['testcaseFields4'], $fieldsType[1])) && p('value', ';') && e('title,type,stage'); //测试moduleName为testcase,requiredFields中的edit存在一个值 r($customTester->saveRequiredFieldsTest($moduleName[5], $requiredFields['testcaseFields5'], $fieldsType[1])) && p('value', ';') && e('title,type,stage,story'); //测试moduleName为testcase,requiredFields中的edit存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[5], $requiredFields['testcaseFields6'], $fieldsType[0])) && p('value', ';') && e('product,title,type,stage,story'); //测试moduleName为testcase,requiredFields中的create,edit各存在多个值 r($customTester->saveRequiredFieldsTest($moduleName[3], $requiredFields['taskFields6'], $fieldsType[2])) && p('value', ';') && e('realStarted,finishedDate,currentConsumed,comment'); //测试moduleName为task,requiredFields中的finish存在一个值