From 6dcac4cf99b0cc7cf23c9f792732f7c81a88feff Mon Sep 17 00:00:00 2001 From: liugang Date: Fri, 7 Nov 2025 18:37:25 +0800 Subject: [PATCH] + [misc] Add unit tests for blockZen::printWaterfallRiskBlock() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../test/zen/printwaterfallriskblock.php | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 module/block/test/zen/printwaterfallriskblock.php diff --git a/module/block/test/zen/printwaterfallriskblock.php b/module/block/test/zen/printwaterfallriskblock.php new file mode 100755 index 0000000000..69425a3ef3 --- /dev/null +++ b/module/block/test/zen/printwaterfallriskblock.php @@ -0,0 +1,90 @@ +#!/usr/bin/env php +id->range('1-10'); +$project->name->range('Project1,Project2,Project3,Project4,Project5,Project6,Project7,Project8,Project9,Project10'); +$project->type->range('project'); +$project->model->range('waterfall'); +$project->status->range('doing'); +$project->gen(10); + +$risk = zenData('risk'); +$risk->project->range('1{5},2{3},3{2}'); +$risk->status->range('active{7},closed{3}'); +$risk->pri->range('1-4'); +$risk->gen(10); + +zenData('user')->gen(10); + +su('admin'); + +$blockTest = new blockZenTest(); + +$block1 = new stdClass(); +$block1->params = new stdClass(); +$block1->params->projectID = 1; +$block1->params->type = 'active'; +$block1->params->count = 20; +$block1->params->orderBy = 'id_desc'; + +$block2 = new stdClass(); +$block2->params = new stdClass(); +$block2->params->projectID = 2; +$block2->params->type = 'active'; +$block2->params->count = 20; +$block2->params->orderBy = 'id_desc'; + +$block3 = new stdClass(); +$block3->params = new stdClass(); +$block3->params->projectID = 3; +$block3->params->type = 'active'; +$block3->params->count = 20; +$block3->params->orderBy = 'id_desc'; + +$block4 = new stdClass(); +$block4->params = new stdClass(); +$block4->params->projectID = 1; +$block4->params->type = 'all'; +$block4->params->count = 20; +$block4->params->orderBy = 'id_desc'; + +$block5 = new stdClass(); +$block5->params = new stdClass(); +$block5->params->projectID = 999; +$block5->params->type = 'active'; +$block5->params->count = 20; +$block5->params->orderBy = 'id_desc'; + +r($blockTest->printWaterfallRiskBlockTest($block1)) && p('count,hasUsers,1:status,1:project') && e('5,1,active,1'); +r($blockTest->printWaterfallRiskBlockTest($block2)) && p('count,hasUsers,1:status,1:project') && e('3,1,active,2'); +r($blockTest->printWaterfallRiskBlockTest($block3)) && p('count,hasUsers,1:status,1:project') && e('2,1,active,3'); +r($blockTest->printWaterfallRiskBlockTest($block4)) && p('count,hasUsers') && e('5,1'); +r($blockTest->printWaterfallRiskBlockTest($block5)) && p('count,hasUsers') && e('0,1'); \ No newline at end of file