znt/module/custom/test/model/getrequiredfields.php

72 lines
2.8 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=测试 customModel::getRequiredFields();
timeout=0
cid=15901
- 测试步骤1空配置对象 @0
- 测试步骤2单个方法配置属性create @name
- 测试步骤3需求配置方法属性edit @title
- 测试步骤4执行配置方法属性batchedit @name,code,begin,end
- 测试步骤5空格处理属性create @name,type,status
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
su('admin');
// 测试数据1空配置对象
$emptyConfig = new stdclass();
// 测试数据2单个方法配置
$taskConfig = new stdclass();
$taskConfig->create = new stdclass();
$taskConfig->create->requiredFields = 'name';
// 测试数据3需求配置
$storyConfig = new stdclass();
$storyConfig->edit = new stdclass();
$storyConfig->edit->requiredFields = 'title';
// 测试数据4执行配置
$executionConfig = new stdclass();
$executionConfig->batchedit = new stdclass();
$executionConfig->batchedit->requiredFields = 'name,code,begin,end';
// 测试数据5包含空格的必填字段
$spaceConfig = new stdclass();
$spaceConfig->create = new stdclass();
$spaceConfig->create->requiredFields = ' name , type , status ';
// 测试数据6混合配置有些有requiredFields有些没有
$mixedConfig = new stdclass();
$mixedConfig->create = new stdclass();
$mixedConfig->create->requiredFields = 'name,status';
$mixedConfig->edit = new stdclass();
$mixedConfig->edit->otherField = 'value';
$mixedConfig->delete = new stdclass();
$mixedConfig->delete->requiredFields = 'id';
// 测试数据7非对象子配置
$invalidConfig = new stdclass();
$invalidConfig->stringMethod = 'invalid';
$invalidConfig->arrayMethod = array('invalid');
$invalidConfig->validMethod = new stdclass();
$invalidConfig->validMethod->requiredFields = 'field1,field2';
// 测试数据8复杂必填字段配置
$complexConfig = new stdclass();
$complexConfig->batchcreate = new stdclass();
$complexConfig->batchcreate->requiredFields = 'name,type,pri,estimate,assignedTo,deadline';
$customTester = new customModelTest();
r($customTester->getRequiredFieldsTest($emptyConfig)) && p() && e('0'); // 测试步骤1空配置对象
r($customTester->getRequiredFieldsTest($taskConfig)) && p('create', ';') && e('name'); // 测试步骤2单个方法配置
r($customTester->getRequiredFieldsTest($storyConfig)) && p('edit', ';') && e('title'); // 测试步骤3需求配置方法
r($customTester->getRequiredFieldsTest($executionConfig)) && p('batchedit', ';') && e('name,code,begin,end'); // 测试步骤4执行配置方法
r($customTester->getRequiredFieldsTest($spaceConfig)) && p('create', ';') && e('name,type,status'); // 测试步骤5空格处理