znt/module/convert/test/tao/processbuildinfieldata.php

111 lines
3 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=测试 convertTao::processBuildinFieldData();
cid=15865
- 测试步骤1正常输入story模块包含zentao字段映射 >> 期望正确设置object属性
- 测试步骤2测试空relations处理 >> 期望返回原始object
- 测试步骤3测试多字段映射处理 >> 期望正确设置多个属性
- 测试步骤4测试不存在的字段 >> 期望跳过不存在的字段
- 测试步骤5测试空object处理 >> 期望返回填充后的object
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/tao.class.php';
su('admin');
$convertTest = new convertTaoTest();
// 测试步骤1正常输入story模块包含zentao字段映射
$module = 'story';
$data = new stdclass();
$data->issuetype = 'Story';
$data->summary = 'Test summary';
$data->priority = '2';
$data->description = 'Test description';
$object = new stdclass();
$relations = array(
'zentaoFieldStory' => array(
'summary' => 'title',
'priority' => 'pri',
'description' => 'spec'
)
);
r($convertTest->processBuildinFieldDataTest($module, $data, $object, $relations)) && p('title,pri,spec') && e('Test summary,2,Test description');
// 测试步骤2测试空relations处理
$module = 'task';
$data = new stdclass();
$data->issuetype = 'Task';
$data->summary = 'Task title';
$object = new stdclass();
$relations = array();
$result = $convertTest->processBuildinFieldDataTest($module, $data, $object, $relations);
r(get_class($result)) && p() && e('stdClass');
// 测试步骤3测试多字段映射处理
$module = 'bug';
$data = new stdclass();
$data->issuetype = 'Bug';
$data->summary = 'Bug title';
$data->priority = '1';
$data->reporter = 'tester';
$data->assignee = 'developer';
$object = new stdclass();
$relations = array(
'zentaoFieldBug' => array(
'summary' => 'title',
'priority' => 'severity',
'reporter' => 'openedBy',
'assignee' => 'assignedTo'
)
);
r($convertTest->processBuildinFieldDataTest($module, $data, $object, $relations)) && p('title,severity,openedBy,assignedTo') && e('Bug title,1,tester,developer');
// 测试步骤4测试不存在的字段
$module = 'story';
$data = new stdclass();
$data->issuetype = 'Story';
$data->summary = 'Story title';
$object = new stdclass();
$relations = array(
'zentaoFieldStory' => array(
'summary' => 'title',
'nonexistent' => 'ignored'
)
);
r($convertTest->processBuildinFieldDataTest($module, $data, $object, $relations)) && p('title') && e('Story title');
// 测试步骤5测试空object处理
$module = 'task';
$data = new stdclass();
$data->issuetype = 'Task';
$data->summary = 'Task summary';
$data->priority = '3';
$object = new stdclass();
$relations = array(
'zentaoFieldTask' => array(
'summary' => 'name',
'priority' => 'pri'
)
);
r($convertTest->processBuildinFieldDataTest($module, $data, $object, $relations)) && p('name,pri') && e('Task summary,3');