From 5ec02ccf6a64cea3e1048bc3b40a57b23d08579b Mon Sep 17 00:00:00 2001 From: liugang Date: Mon, 10 Nov 2025 21:49:37 +0800 Subject: [PATCH] + [misc] Add unit tests for pivotZen::workload() 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/lib/pivotzen.unittest.class.php | 29 +++++++++++++ module/pivot/test/zen/workload.php | 41 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100755 module/pivot/test/zen/workload.php diff --git a/module/pivot/test/lib/pivotzen.unittest.class.php b/module/pivot/test/lib/pivotzen.unittest.class.php index b1a5aceccf..5408151425 100644 --- a/module/pivot/test/lib/pivotzen.unittest.class.php +++ b/module/pivot/test/lib/pivotzen.unittest.class.php @@ -240,4 +240,33 @@ class pivotZenTest extends baseTest 'configs' => array(), ); } + + /** + * Test workload method. + * + * @param string $begin + * @param string $end + * @param int $days + * @param float $workhour + * @param int $dept + * @param string $assign + * @access public + * @return mixed + */ + public function workloadTest(string $begin = '', string $end = '', int $days = 0, float $workhour = 0, int $dept = 0, string $assign = 'assign') + { + $this->invokeArgs('workload', [$begin, $end, $days, $workhour, $dept, $assign]); + if(dao::isError()) return dao::getError(); + + return array( + 'workload' => $this->instance->view->workload ?? array(), + 'begin' => $this->instance->view->begin ?? '', + 'end' => $this->instance->view->end ?? '', + 'days' => $this->instance->view->days ?? 0, + 'workhour' => $this->instance->view->workhour ?? 0, + 'dept' => $this->instance->view->dept ?? 0, + 'assign' => $this->instance->view->assign ?? '', + 'title' => $this->instance->view->title ?? '' + ); + } } \ No newline at end of file diff --git a/module/pivot/test/zen/workload.php b/module/pivot/test/zen/workload.php new file mode 100755 index 0000000000..1daa157f87 --- /dev/null +++ b/module/pivot/test/zen/workload.php @@ -0,0 +1,41 @@ +#!/usr/bin/env php +gen(10); +zenData('dept')->gen(5); +zenData('task')->gen(20); + +su('admin'); + +$pivotTest = new pivotZenTest(); + +r($pivotTest->workloadTest('', '', 0, 0, 0, 'assign')) && p('assign,workhour') && e('assign,7.0'); +r($pivotTest->workloadTest('2025-10-01', '2025-10-31', 0, 0, 0, 'assign')) && p('begin,end') && e('2025-10-01,2025-10-31'); +r($pivotTest->workloadTest('2025-11-01', '2025-11-15', 10, 8, 0, 'assign')) && p('days,workhour') && e('10,8'); +r($pivotTest->workloadTest('', '', 0, 0, 1, 'assign')) && p('dept,assign') && e('1,assign'); +r($pivotTest->workloadTest('', '', 0, 0, 0, 'finishedBy')) && p('assign') && e('finishedBy'); \ No newline at end of file