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

107 lines
3.5 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::importJiraAction();
timeout=0
cid=15855
- 步骤1正常情况 @1
- 步骤2空内容跳过 @1
- 步骤3无效Issue跳过 @1
- 步骤4已存在关系跳过 @1
- 步骤5多条数据导入 @1
*/
// 1. 导入依赖(路径固定,不可修改)
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/tao.class.php';
// 定义常量(如果未定义)
if(!defined('JIRA_TMPRELATION')) define('JIRA_TMPRELATION', '`jiratmprelation`');
// 2. zendata数据准备根据需要配置
zendata('jiratmprelation')->gen(0); // 清空临时关系表
// 3. 用户登录(选择合适角色)
su('admin');
// 4. 创建测试实例(变量名与模块名一致)
$convertTest = new convertTaoTest();
// 5. 测试步骤必须包含至少5个测试步骤
// 测试步骤1正常导入Jira Action数据
$validActionData = array();
$validAction = new stdclass();
$validAction->id = 1;
$validAction->issueid = 1;
$validAction->actionbody = 'This is a test comment';
$validAction->author = 'testuser';
$validAction->created = '2024-01-01 10:00:00';
$validActionData[] = $validAction;
r($convertTest->importJiraActionTest($validActionData)) && p() && e('1'); // 步骤1正常情况
// 测试步骤2导入空Action body的数据
$emptyBodyData = array();
$emptyBodyAction = new stdclass();
$emptyBodyAction->id = 2;
$emptyBodyAction->issueid = 1;
$emptyBodyAction->actionbody = '';
$emptyBodyAction->author = 'testuser';
$emptyBodyAction->created = '2024-01-01 10:00:00';
$emptyBodyData[] = $emptyBodyAction;
r($convertTest->importJiraActionTest($emptyBodyData)) && p() && e('1'); // 步骤2空内容跳过
// 测试步骤3导入不存在Issue的Action数据
$invalidIssueData = array();
$invalidIssueAction = new stdclass();
$invalidIssueAction->id = 3;
$invalidIssueAction->issueid = 999;
$invalidIssueAction->actionbody = 'Comment for non-existent issue';
$invalidIssueAction->author = 'testuser';
$invalidIssueAction->created = '2024-01-01 10:00:00';
$invalidIssueData[] = $invalidIssueAction;
r($convertTest->importJiraActionTest($invalidIssueData)) && p() && e('1'); // 步骤3无效Issue跳过
// 测试步骤4导入已存在关系的Action数据
$existingRelationData = array();
$existingRelationAction = new stdclass();
$existingRelationAction->id = 2; // ID 2 在mock中已存在关系
$existingRelationAction->issueid = 1;
$existingRelationAction->actionbody = 'This should be skipped';
$existingRelationAction->author = 'testuser';
$existingRelationAction->created = '2024-01-01 10:00:00';
$existingRelationData[] = $existingRelationAction;
r($convertTest->importJiraActionTest($existingRelationData)) && p() && e('1'); // 步骤4已存在关系跳过
// 测试步骤5导入多条有效Action数据
$multipleActionData = array();
$action1 = new stdclass();
$action1->id = 4;
$action1->issueid = 1;
$action1->actionbody = 'First comment';
$action1->author = 'user1';
$action1->created = '2024-01-01 10:00:00';
$multipleActionData[] = $action1;
$action2 = new stdclass();
$action2->id = 5;
$action2->issueid = 2;
$action2->actionbody = 'Second comment';
$action2->author = 'user2';
$action2->created = '2024-01-02 10:00:00';
$multipleActionData[] = $action2;
$action3 = new stdclass();
$action3->id = 6;
$action3->issueid = 3;
$action3->actionbody = 'Third comment';
$action3->author = '';
$action3->created = '2024-01-03 10:00:00';
$multipleActionData[] = $action3;
r($convertTest->importJiraActionTest($multipleActionData)) && p() && e('1'); // 步骤5多条数据导入