znt/module/pivot/test/model/buildpivottable.php

96 lines
3.2 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/**
title=测试 pivotModel::buildPivotTable();
timeout=0
cid=17357
- 执行pivotTest模块的buildPivotTableTest方法参数是$emptyData, array @1
- 执行pivotTest模块的buildPivotTableTest方法参数是$standardData, array @1
- 执行pivotTest模块的buildPivotTableTest方法参数是$configData, $configs), '项目') !== false @1
- 执行pivotTest模块的buildPivotTableTest方法参数是$userData, array @1
- 执行pivotTest模块的buildPivotTableTest方法参数是$totalData, array @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
su('admin');
$pivotTest = new pivotModelTest();
// 准备测试数据1空数据对象
$emptyData = new stdClass();
$emptyData->cols = array(array());
$emptyData->array = array();
// 准备测试数据2标准数据对象
$standardData = new stdClass();
$standardData->cols = array(
array(
(object)array('label' => '产品', 'isGroup' => true),
(object)array('label' => '总计', 'colspan' => 1)
)
);
$standardData->array = array(
array('产品A' => '产品A', 'total' => 10),
array('产品B' => '产品B', 'total' => 20)
);
$standardData->groups = array('product');
// 准备测试数据3带配置的数据对象
$configData = new stdClass();
$configData->cols = array(
array(
(object)array('label' => '项目', 'isGroup' => true),
(object)array('label' => 'Bug数量', 'colspan' => 1)
)
);
$configData->array = array(
array('project' => '项目1', 'bugs' => 5),
array('project' => '项目2', 'bugs' => 8)
);
$configData->groups = array('project');
$configs = array(
array(1, 1),
array(1, 1)
);
// 准备测试数据4包含用户字段的数据对象
$userData = new stdClass();
$userData->cols = array(
array(
(object)array('label' => '指派给', 'name' => 'assignedTo', 'isGroup' => true),
(object)array('label' => '任务数', 'colspan' => 1)
)
);
$userData->array = array(
array('assignedTo' => 'admin', 'count' => 3),
array('assignedTo' => 'user1', 'count' => 2)
);
$userData->groups = array('assignedTo');
// 准备测试数据5包含总计的数据对象
$totalData = new stdClass();
$totalData->cols = array(
array(
(object)array('label' => '状态', 'isGroup' => true),
(object)array('label' => '数量', 'colspan' => 1)
)
);
$totalData->array = array(
array('status' => '进行中', 'count' => 10),
array('status' => '已完成', 'count' => 15),
array('status' => '总计', 'count' => 25)
);
$totalData->groups = array('status');
$totalData->showAllTotal = true;
r(strpos($pivotTest->buildPivotTableTest($emptyData, array()), '<div class=\'reportData\'><table') !== false) && p() && e(1);
r(strpos($pivotTest->buildPivotTableTest($standardData, array()), '产品') !== false) && p() && e(1);
r(strpos($pivotTest->buildPivotTableTest($configData, $configs), '项目') !== false) && p() && e(1);
r(strpos($pivotTest->buildPivotTableTest($userData, array()), '指派给') !== false) && p() && e(1);
r(strpos($pivotTest->buildPivotTableTest($totalData, array()), '总计') !== false) && p() && e(1);