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

118 lines
4 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();
timeout=0
cid=15866
- 执行convertTest模块的processBuildinFieldDataTest方法参数是'story', $data1, $object1, $relations1, false
- 属性title @Test Bug Title
- 属性pri @1
- 执行convertTest模块的processBuildinFieldDataTest方法参数是'story', $data2, $object2, $relations2, false 属性storyreporter @~~
- 执行convertTest模块的processBuildinFieldDataTest方法参数是'task', $data3, $object3, $relations3, false
- 属性tasktimeoriginalestimate @8
- 属性tasktimespent @4
- 执行$result4 @1
- 执行convertTest模块的processBuildinFieldDataTest方法参数是'bug', $data5, $object5, $relations5, true 属性bugsummary @Test Summary
- 执行convertTest模块的processBuildinFieldDataTest方法参数是'story', $data6, $object6, $relations6, false 属性storyreporter @~~
- 执行$result7 @1
*/
// 1. 导入依赖
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/tao.class.php';
// 2. 用户登录
su('admin');
// 3. 创建测试实例
$convertTest = new convertTaoTest();
// 准备测试数据
// 测试数据1正常的JIRA数据包含基本字段
$data1 = new stdclass();
$data1->issuetype = 'bug';
$data1->summary = 'Test Bug Title';
$data1->priority = 1;
$data1->reporter = 'jirauser1';
$data1->timeoriginalestimate = 7200; // 2小时
$data1->timespent = 3600; // 1小时
$object1 = new stdclass();
$relations1 = array(
'zentaoFieldbug' => array(
'summary' => 'title',
'priority' => 'pri'
)
);
// 测试数据2测试reporter字段转换
$data2 = new stdclass();
$data2->issuetype = 'story';
$data2->reporter = 'admin';
$object2 = new stdclass();
$relations2 = array();
// 测试数据3测试时间字段转换
$data3 = new stdclass();
$data3->issuetype = 'task';
$data3->timeoriginalestimate = 28800; // 8小时
$data3->timespent = 14400; // 4小时
$object3 = new stdclass();
$relations3 = array();
// 测试数据4空数据对象
$data4 = new stdclass();
$data4->issuetype = '';
$object4 = new stdclass();
$relations4 = array();
// 测试数据5buildinFlow为true
$data5 = new stdclass();
$data5->issuetype = 'bug';
$data5->summary = 'Test Summary';
$data5->priority = 2;
$object5 = new stdclass();
$relations5 = array();
// 4. 执行测试步骤
// 步骤1正常数据处理包含JIRA字段映射
r($convertTest->processBuildinFieldDataTest('story', $data1, $object1, $relations1, false)) && p('title,pri') && e('Test Bug Title,1');
// 步骤2测试reporter字段转换为用户账号
r($convertTest->processBuildinFieldDataTest('story', $data2, $object2, $relations2, false)) && p('storyreporter') && e('~~');
// 步骤3测试时间字段转换小时计算
r($convertTest->processBuildinFieldDataTest('task', $data3, $object3, $relations3, false)) && p('tasktimeoriginalestimate,tasktimespent') && e('8,4');
// 步骤4空数据对象处理返回对象类型
$result4 = $convertTest->processBuildinFieldDataTest('module', $data4, $object4, $relations4, false);
r(is_object($result4)) && p() && e('1');
// 步骤5buildinFlow为true时跳过特定字段
r($convertTest->processBuildinFieldDataTest('bug', $data5, $object5, $relations5, true)) && p('bugsummary') && e('Test Summary');
// 步骤6开源版本处理跳过企业版字段- 通过修改配置测试
$data6 = new stdclass();
$data6->issuetype = 'story';
$data6->reporter = 'testuser';
$object6 = new stdclass();
$relations6 = array();
r($convertTest->processBuildinFieldDataTest('story', $data6, $object6, $relations6, false)) && p('storyreporter') && e('~~');
// 步骤7无映射关系时的处理返回对象类型
$data7 = new stdclass();
$data7->issuetype = 'custom';
$data7->customfield = 'customvalue';
$object7 = new stdclass();
$relations7 = array();
$result7 = $convertTest->processBuildinFieldDataTest('custom', $data7, $object7, $relations7, false);
r(is_object($result7)) && p() && e('1');