znt/module/story/test/model/extractaccountsfromlist.php

90 lines
2.9 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=测试 storyModel::extractAccountsFromList();
timeout=0
cid=18490
- 测试步骤1完整账户信息故事列表应返回6个不同账户 @6
- 测试步骤2包含空字段的故事列表应返回4个有效账户 @4
- 测试步骤3空故事列表应返回0个账户 @0
- 测试步骤4重复账户故事列表应去重返回3个账户 @3
- 测试步骤5单个故事应返回4个账户 @4
- 测试步骤6验证第一个账户为admin @admin
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
zenData('story')->gen(10);
su('admin');
$storyTest = new storyModelTest();
// 测试数据1包含完整账户信息的故事列表
$story1 = new stdClass();
$story1->openedBy = 'admin';
$story1->assignedTo = 'user1';
$story1->closedBy = 'user2';
$story1->lastEditedBy = 'user3';
$story2 = new stdClass();
$story2->openedBy = 'user4';
$story2->assignedTo = 'user5';
$story2->closedBy = 'admin';
$story2->lastEditedBy = 'user1';
$stories1 = array($story1, $story2);
// 测试数据2包含空字段的故事列表
$story3 = new stdClass();
$story3->openedBy = 'admin';
$story3->assignedTo = '';
$story3->closedBy = 'user1';
$story3->lastEditedBy = '';
$story4 = new stdClass();
$story4->openedBy = '';
$story4->assignedTo = 'user2';
$story4->closedBy = '';
$story4->lastEditedBy = 'user3';
$stories2 = array($story3, $story4);
// 测试数据3空故事列表
$stories3 = array();
// 测试数据4包含重复账户的故事列表
$story5 = new stdClass();
$story5->openedBy = 'admin';
$story5->assignedTo = 'admin';
$story5->closedBy = 'user1';
$story5->lastEditedBy = 'user1';
$story6 = new stdClass();
$story6->openedBy = 'admin';
$story6->assignedTo = 'user1';
$story6->closedBy = 'admin';
$story6->lastEditedBy = 'user2';
$stories4 = array($story5, $story6);
// 测试数据5单个故事
$story7 = new stdClass();
$story7->openedBy = 'testuser';
$story7->assignedTo = 'assignee';
$story7->closedBy = 'closer';
$story7->lastEditedBy = 'editor';
$stories5 = array($story7);
r(count($storyTest->extractAccountsFromListTest($stories1))) && p() && e('6'); // 测试步骤1完整账户信息故事列表应返回6个不同账户
r(count($storyTest->extractAccountsFromListTest($stories2))) && p() && e('4'); // 测试步骤2包含空字段的故事列表应返回4个有效账户
r(count($storyTest->extractAccountsFromListTest($stories3))) && p() && e('0'); // 测试步骤3空故事列表应返回0个账户
r(count($storyTest->extractAccountsFromListTest($stories4))) && p() && e('3'); // 测试步骤4重复账户故事列表应去重返回3个账户
r(count($storyTest->extractAccountsFromListTest($stories5))) && p() && e('4'); // 测试步骤5单个故事应返回4个账户
r($storyTest->extractAccountsFromListTest($stories1)) && p('0') && e('admin'); // 测试步骤6验证第一个账户为admin