From 5dfa6f83ffbff05233e382467bdcc2bd76dc34db Mon Sep 17 00:00:00 2001 From: liugang Date: Thu, 11 Sep 2025 12:15:53 +0800 Subject: [PATCH] + [misc] Add unit tests for biTao::fetchTableQueue() 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 --- module/bi/test/lib/bi.unittest.class.php | 18 ++++++ module/bi/test/tao/fetchtablequeue.php | 76 ++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100755 module/bi/test/tao/fetchtablequeue.php diff --git a/module/bi/test/lib/bi.unittest.class.php b/module/bi/test/lib/bi.unittest.class.php index f8b27d4ce5..e3581c8260 100644 --- a/module/bi/test/lib/bi.unittest.class.php +++ b/module/bi/test/lib/bi.unittest.class.php @@ -1190,4 +1190,22 @@ class biTest return $result; } + + /** + * Test fetchTableQueue method. + * + * @access public + * @return mixed + */ + public function fetchTableQueueTest() + { + $reflection = new ReflectionClass($this->objectTao); + $method = $reflection->getMethod('fetchTableQueue'); + $method->setAccessible(true); + + $result = $method->invoke($this->objectTao); + if(dao::isError()) return dao::getError(); + + return $result; + } } diff --git a/module/bi/test/tao/fetchtablequeue.php b/module/bi/test/tao/fetchtablequeue.php new file mode 100755 index 0000000000..f0a8e4c8f1 --- /dev/null +++ b/module/bi/test/tao/fetchtablequeue.php @@ -0,0 +1,76 @@ +#!/usr/bin/env php +dao; + +$dao->delete()->from(TABLE_DUCKDBQUEUE)->exec(); + +$dao->insert(TABLE_DUCKDBQUEUE)->data(array( + 'object' => 'zt_user', + 'updatedTime' => '2024-01-01 10:00:00', + 'syncTime' => '2024-01-01 09:00:00' +))->exec(); + +$dao->insert(TABLE_DUCKDBQUEUE)->data(array( + 'object' => 'zt_product', + 'updatedTime' => '2024-01-02 10:00:00', + 'syncTime' => null +))->exec(); + +$dao->insert(TABLE_DUCKDBQUEUE)->data(array( + 'object' => 'zt_project', + 'updatedTime' => '2024-01-03 10:00:00', + 'syncTime' => '2024-01-03 11:00:00' +))->exec(); + +$dao->insert(TABLE_DUCKDBQUEUE)->data(array( + 'object' => 'zt_task', + 'updatedTime' => null, + 'syncTime' => null +))->exec(); + +$dao->insert(TABLE_DUCKDBQUEUE)->data(array( + 'object' => 'zt_bug', + 'updatedTime' => '2024-01-05 10:00:00', + 'syncTime' => '2024-01-05 09:00:00' +))->exec(); + +$dao->insert(TABLE_DUCKDBQUEUE)->data(array( + 'object' => 'zt_metriclib', + 'updatedTime' => '2024-01-06 10:00:00', + 'syncTime' => null +))->exec(); + +$dao->insert(TABLE_DUCKDBQUEUE)->data(array( + 'object' => 'zt_action', + 'updatedTime' => '2024-01-07 10:00:00', + 'syncTime' => '2024-01-07 11:00:00' +))->exec(); + +su('admin'); + +$biTest = new biTest(); + +r(is_array($biTest->fetchTableQueueTest())) && p() && e('1'); +r(count($biTest->fetchTableQueueTest())) && p() && e('4'); +r(isset($biTest->fetchTableQueueTest()['zt_user'])) && p() && e('1'); +r(in_array('zt_metriclib', $biTest->fetchTableQueueTest())) && p() && e('0'); +r(in_array('zt_action', $biTest->fetchTableQueueTest())) && p() && e('0'); \ No newline at end of file