znt/module/bi/test/model/preparecolumns.php

45 lines
2.1 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=测试 biModel::prepareColumns();
timeout=0
cid=15201
- 测试简单SELECT语句,验证返回结果包含两个元素 @2
- 测试简单SELECT语句,验证第一个元素columns包含id字段第id条的name属性 @id
- 测试简单SELECT语句,验证第一个元素columns包含account字段第account条的name属性 @account
- 测试简单SELECT语句,验证第二个元素relatedObjects包含id字段属性id @user
- 测试多字段SELECT语句,验证columns字段数量 @3
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// zendata数据准备
$table = zenData('user');
$table->id->range('1-10');
$table->account->range('admin,user1,user2,user3,test{1},qa{1},dev{1},pm{1},po{1},td{1}');
$table->realname->range('管理员,用户1,用户2,用户3,测试{1},QA{1},开发{1},项目经理{1},产品经理{1},测试主管{1}');
$table->role->range('admin,dev{3},qa{3},pm{2},po{1}');
$table->gen(10);
su('admin');
$biTest = new biModelTest();
// 测试用例1简单SELECT语句
$sql1 = "SELECT id, account FROM zt_user LIMIT 1";
$statement1 = $biTest->instance->sql2Statement($sql1);
// 测试用例2多字段SELECT语句
$sql2 = "SELECT id, account, realname FROM zt_user LIMIT 1";
$statement2 = $biTest->instance->sql2Statement($sql2);
r(count($biTest->prepareColumnsTest($sql1, $statement1, 'mysql'))) && p() && e('2'); // 测试简单SELECT语句,验证返回结果包含两个元素
r($biTest->prepareColumnsTest($sql1, $statement1, 'mysql')[0]) && p('id:name') && e('id'); // 测试简单SELECT语句,验证第一个元素columns包含id字段
r($biTest->prepareColumnsTest($sql1, $statement1, 'mysql')[0]) && p('account:name') && e('account'); // 测试简单SELECT语句,验证第一个元素columns包含account字段
r($biTest->prepareColumnsTest($sql1, $statement1, 'mysql')[1]) && p('id') && e('user'); // 测试简单SELECT语句,验证第二个元素relatedObjects包含id字段
r(count($biTest->prepareColumnsTest($sql2, $statement2, 'mysql')[0])) && p() && e('3'); // 测试多字段SELECT语句,验证columns字段数量