* Refactor score::getListByAccount unit test.

This commit is contained in:
tianshujie
2023-12-19 15:52:56 +08:00
parent 0a24379644
commit f7c8564d55
3 changed files with 71 additions and 27 deletions
+52 -18
View File
@@ -1,29 +1,63 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/score.class.php';
su('admin');
/**
title=测试 scoreModel->getListByAccount();
cid=1
pid=1
查看account为admin,每页展示15条,第一页的第一条数据 >> admin
查看account为dev10, 每页展示15条,第一页的数据总量 >> 15
查看account为top10, 不传pager(默认分页)的第一条数据 >> top10
查看account为adminn(不存在的用户)的数据 >> 0
- 获取5条admin积分记录第一页的数据 @5
- 获取10条admin积分记录第一页的数据 @10
- 获取20条admin积分记录第一页的数据 @20
- 获取5条admin积分记录第二页的数据 @5
- 获取10条admin积分记录第二页的数据 @10
- 获取20条admin积分记录第二页的数据 @20
- 获取5条user1积分记录第一页的数据 @5
- 获取10条user1积分记录第一页的数据 @10
- 获取20条user1积分记录第一页的数据 @20
- 获取5条user1积分记录第二页的数据 @5
- 获取10条user1积分记录第二页的数据 @10
- 获取20条user1积分记录第二页的数据 @20
*/
global $tester;
$tester->app->loadClass('pager', $static = true);
$score = new scoreTest();
$accountList = array('admin', 'dev10', 'top10', 'adminn');
$pager = new pager(0, 15, 1);
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/score.class.php';
r($score->getListByAccountTest($accountList[0], $pager)) && p('0:account') && e('admin'); // 查看account为admin,每页展示15条,第一页的第一条数据
r($score->getListByAccountTest($accountList[1], $pager, true)) && p('') && e('15'); // 查看account为dev10, 每页展示15条,第一页的数据总量
r($score->getListByAccountTest($accountList[2], null)) && p('0:account') && e('top10'); // 查看account为top10, 不传pager(默认分页)的第一条数据
r($score->getListByAccountTest($accountList[3], null)) && p('0:account') && e('0'); // 查看account为adminn(不存在的用户)的数据
zdTable('user')->gen(5);
zdTable('score')->config('score')->gen(40);
$accounts = array('admin', 'user1');
$recPerPages = array(5, 10, 20);
$pageIDs = array(1, 2);
$scoreTester = new scoreTest();
/* Admin user. */
$adminScores1 = $scoreTester->getListByAccountTest($accounts[0], $recPerPages[0], $pageIDs[0]);
$adminScores2 = $scoreTester->getListByAccountTest($accounts[0], $recPerPages[1], $pageIDs[0]);
$adminScores3 = $scoreTester->getListByAccountTest($accounts[0], $recPerPages[2], $pageIDs[0]);
$adminScores4 = $scoreTester->getListByAccountTest($accounts[0], $recPerPages[0], $pageIDs[1]);
$adminScores5 = $scoreTester->getListByAccountTest($accounts[0], $recPerPages[1], $pageIDs[1]);
$adminScores6 = $scoreTester->getListByAccountTest($accounts[0], $recPerPages[2], $pageIDs[1]);
r(count($adminScores1)) && p() && e('5'); // 获取5条admin积分记录第一页的数据
r(count($adminScores2)) && p() && e('10'); // 获取10条admin积分记录第一页的数据
r(count($adminScores3)) && p() && e('20'); // 获取20条admin积分记录第一页的数据
r(count($adminScores4)) && p() && e('5'); // 获取5条admin积分记录第二页的数据
r(count($adminScores5)) && p() && e('10'); // 获取10条admin积分记录第二页的数据
r(count($adminScores6)) && p() && e('20'); // 获取20条admin积分记录第二页的数据
/* User1 user. */
$user1Scores1 = $scoreTester->getListByAccountTest($accounts[1], $recPerPages[0], $pageIDs[0]);
$user1Scores2 = $scoreTester->getListByAccountTest($accounts[1], $recPerPages[1], $pageIDs[0]);
$user1Scores3 = $scoreTester->getListByAccountTest($accounts[1], $recPerPages[2], $pageIDs[0]);
$user1Scores4 = $scoreTester->getListByAccountTest($accounts[1], $recPerPages[0], $pageIDs[1]);
$user1Scores5 = $scoreTester->getListByAccountTest($accounts[1], $recPerPages[1], $pageIDs[1]);
$user1Scores6 = $scoreTester->getListByAccountTest($accounts[1], $recPerPages[2], $pageIDs[1]);
r(count($user1Scores1)) && p() && e('5'); // 获取5条user1积分记录第一页的数据
r(count($user1Scores2)) && p() && e('10'); // 获取10条user1积分记录第一页的数据
r(count($user1Scores3)) && p() && e('20'); // 获取20条user1积分记录第一页的数据
r(count($user1Scores4)) && p() && e('5'); // 获取5条user1积分记录第二页的数据
r(count($user1Scores5)) && p() && e('10'); // 获取10条user1积分记录第二页的数据
r(count($user1Scores6)) && p() && e('20'); // 获取20条user1积分记录第二页的数据
+11 -9
View File
@@ -15,22 +15,24 @@ class scoreTest
}
/**
* 获取用户的积分记录。
* Get user score list.
*
* @param string $account
* @param object $pager
* @param bool $needCount
*
* @param string $account
* @param object $pager
* @param bool $needCount
* @access public
* @return array|int
* @return array
*/
public function getListByAccountTest($account, $pager, $needCount = false)
public function getListByAccountTest(string $account, int $recPerPage, int $pageID): array
{
$objects = $this->objectModel->getListByAccount($account, $pager);
$this->objectModel->app->loadClass('pager', true);
$pager = pager::init(0, $recPerPage, $pageID);
$scores = $this->objectModel->getListByAccount($account, $pager);
if(dao::isError()) return dao::getError();
return $needCount ? count($objects) : $objects;
return $scores;
}
/**
+8
View File
@@ -0,0 +1,8 @@
title: zt_score
author: Shujie Tian
version: "1.0"
fields:
- field: id
range: 1-100
- field: account
range: 'admin{10},user1{10}'