+ [misc] Add unit tests for productZen::saveAndModifyCookie4Browse() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -3364,4 +3364,47 @@ class productTest
|
||||
|
||||
return $result === null ? 'success' : $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test saveAndModifyCookie4Browse method.
|
||||
*
|
||||
* @param int $productID
|
||||
* @param string $branch
|
||||
* @param int $param
|
||||
* @param string $browseType
|
||||
* @param string $orderBy
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function saveAndModifyCookie4BrowseTest(int $productID, string $branch, int $param, string $browseType, string $orderBy): int
|
||||
{
|
||||
global $tester;
|
||||
|
||||
try {
|
||||
$productZen = new productZen();
|
||||
$productZen->loadModel('product');
|
||||
|
||||
// 模拟app对象和cookie
|
||||
$productZen->app = (object)array('tab' => 'product');
|
||||
$productZen->cookie = (object)array(
|
||||
'preProductID' => $productID == 2 ? 1 : $productID,
|
||||
'preBranch' => $branch == 'dev' ? 'main' : $branch
|
||||
);
|
||||
|
||||
// 设置初始cookie状态
|
||||
$_COOKIE['preProductID'] = (string)($productID == 2 ? 1 : $productID);
|
||||
$_COOKIE['preBranch'] = $branch == 'dev' ? 'main' : $branch;
|
||||
$_COOKIE['storyModule'] = '0';
|
||||
|
||||
$method = $this->objectZen->getMethod('saveAndModifyCookie4Browse');
|
||||
$method->setAccessible(true);
|
||||
$method->invokeArgs($productZen, array($productID, $branch, $param, $browseType, $orderBy));
|
||||
|
||||
if(dao::isError()) return 0;
|
||||
|
||||
return 1;
|
||||
} catch (Exception $e) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=测试 productZen::saveAndModifyCookie4Browse();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 执行productTest模块的saveAndModifyCookie4BrowseTest方法,参数是1, 'main', 0, '', 'id_desc' @1
|
||||
- 执行productTest模块的saveAndModifyCookie4BrowseTest方法,参数是2, 'main', 0, '', 'id_desc' @1
|
||||
- 执行productTest模块的saveAndModifyCookie4BrowseTest方法,参数是1, 'main', 10, 'bymodule', 'id_desc' @1
|
||||
- 执行productTest模块的saveAndModifyCookie4BrowseTest方法,参数是1, 'dev', 0, 'bybranch', 'id_desc' @1
|
||||
- 执行productTest模块的saveAndModifyCookie4BrowseTest方法,参数是1, 'main', 5, 'bymodule', 'id_desc' @1
|
||||
|
||||
*/
|
||||
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/product.unittest.class.php';
|
||||
|
||||
zenData('product')->loadYaml('product', false, 2)->gen(10);
|
||||
|
||||
su('admin');
|
||||
|
||||
$productTest = new productTest();
|
||||
|
||||
r($productTest->saveAndModifyCookie4BrowseTest(1, 'main', 0, '', 'id_desc')) && p() && e('1');
|
||||
r($productTest->saveAndModifyCookie4BrowseTest(2, 'main', 0, '', 'id_desc')) && p() && e('1');
|
||||
r($productTest->saveAndModifyCookie4BrowseTest(1, 'main', 10, 'bymodule', 'id_desc')) && p() && e('1');
|
||||
r($productTest->saveAndModifyCookie4BrowseTest(1, 'dev', 0, 'bybranch', 'id_desc')) && p() && e('1');
|
||||
r($productTest->saveAndModifyCookie4BrowseTest(1, 'main', 5, 'bymodule', 'id_desc')) && p() && e('1');
|
||||
Reference in New Issue
Block a user