From ba1e89cbb8bb9a48d69af92d6920854cf89ab509 Mon Sep 17 00:00:00 2001 From: liugang Date: Sun, 7 Sep 2025 00:28:47 +0800 Subject: [PATCH] + [misc] Add unit tests for apiModel::createDemoLib() 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/api/test/lib/api.unittest.class.php | 28 +++++++++++++++++++ module/api/test/model/createdemolib.php | 32 ++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100755 module/api/test/model/createdemolib.php diff --git a/module/api/test/lib/api.unittest.class.php b/module/api/test/lib/api.unittest.class.php index 29e8a21340..e0dfa0e5a8 100644 --- a/module/api/test/lib/api.unittest.class.php +++ b/module/api/test/lib/api.unittest.class.php @@ -297,4 +297,32 @@ class apiTest return $objects; } + + /** + * Test createDemoLib method. + * + * @param string $name + * @param string $baseUrl + * @param string $currentAccount + * @access public + * @return object|false + */ + public function createDemoLibTest($name, $baseUrl, $currentAccount) + { + global $tester; + + $reflection = new ReflectionClass($this->objectModel); + $method = $reflection->getMethod('createDemoLib'); + $method->setAccessible(true); + + $libID = $method->invoke($this->objectModel, $name, $baseUrl, $currentAccount); + + if(dao::isError()) return dao::getError(); + + $lib = $tester->dao->select('*')->from(TABLE_DOCLIB)->where('id')->eq($libID)->fetch(); + + $tester->dao->delete()->from(TABLE_DOCLIB)->where('id')->eq($libID)->exec(); + + return $lib; + } } diff --git a/module/api/test/model/createdemolib.php b/module/api/test/model/createdemolib.php new file mode 100755 index 0000000000..c3e240f760 --- /dev/null +++ b/module/api/test/model/createdemolib.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +createDemoLibTest('API Demo Library', 'https://api.demo.com', 'admin')) && p('name') && e('API Demo Library'); +r($apiTest->createDemoLibTest('API Demo Library', 'https://api.demo.com', 'admin')) && p('type') && e('api'); +r($apiTest->createDemoLibTest('API Demo Library', 'https://api.demo.com', 'admin')) && p('baseUrl') && e('https://api.demo.com'); +r($apiTest->createDemoLibTest('API Demo Library', 'https://api.demo.com', 'admin')) && p('acl') && e('open'); +r($apiTest->createDemoLibTest('Test Library', '', 'admin')) && p('baseUrl') && e('~~'); \ No newline at end of file