trident-beta
Version:
trident is a sample and lightly tools aims to improve collaboration efficiency between SDET and QA based on initiative from Einstein/TestIT.
351 lines (350 loc) • 7.47 kB
TypeScript
import { EXECUTION_TYPE_ENUM, PRIORITY_ENUM } from "./constants";
export interface IProject {
id: number;
name: string;
prefix: string;
dateCreated?: string;
suitsNo?: number;
casesNo?: number;
}
export interface IProjectInfo {
id: number;
name: string;
dateCreated: number;
createdBy: string | null;
suitesNo: number;
casesNo: number;
}
export interface ISuite {
itemId: number;
name: string;
parentId?: number;
ascendants: IAscendant[];
type: string;
junk: boolean;
order: number;
children: Array<ISuite | ISuiteCase>;
}
export interface ISectionInfo {
id: number;
ascendants: IAscendant[];
parentId: number;
projectId: number;
name: string;
values: string[];
}
export interface ISuiteCase {
itemId: number;
name: string;
type: string;
junk: boolean;
order: number;
externalId: number;
}
export interface ITestCase {
id: number;
parentId: number;
name: string;
summary: string;
preconditions: string;
versions: IVersion;
version: {
name: number;
id: number;
};
ascendants: IAscendant[];
children: IStep[];
values: any;
coverage: {
requirements: [];
readOnly: boolean;
};
priority: PRIORITY_ENUM;
executionType: EXECUTION_TYPE_ENUM;
externalId: number;
obsolete: boolean;
dateCreated: number;
createdBy: string;
lastUpdated: number;
lastUpdatedBy: string;
readOnly: boolean;
testPlansReadOnly: boolean;
containedInTestPlans: boolean;
fromTestlink: boolean;
}
export interface IAscendant {
name: string;
level: number;
itemId: number;
itemType: string;
itemName: string;
prefix?: string;
}
export interface IVersion {
id: number;
name: number;
obsolete: boolean;
lastUpdated: number;
lastUpdatedBy: string;
last?: boolean;
}
export interface IStep {
name: string;
expectedResult: string;
execution: number;
order?: number;
}
export interface IKeywordCaseGroup {
cases: IKeywordCase[];
id: number;
name: string;
}
export interface IKeywordCase {
id: number;
name: string;
values: string;
priority: PRIORITY_ENUM;
executionType: EXECUTION_TYPE_ENUM;
}
export interface ITestPlan {
id: number;
name: string;
notes: string | null;
dateCreated: number;
createdBy: string | null;
obsolete: boolean;
active: boolean;
casesNo: number;
}
export interface ITestPlanCreationResponseDTO {
item: {
id: number;
name: string;
};
}
export interface IAddTestCaseToTestPlansResponseDTO {
item: {
testPlans: string;
};
}
export interface IAddTestCasesToTestPlanResponseDTO {
item: {
id: number;
name: string;
notes: string | null;
};
}
export interface IBuild {
id: number;
name: string;
notes: string | null;
dateCreated: string;
createdBy: string | null;
}
export interface IBuildCreationResponseDTO {
item: {
id: number;
name: string;
};
}
export interface ITestExecution {
testCaseId: number;
testCaseVersionId: number;
testerId: number;
startDate: number;
buildId: number;
duration: number | null;
message: string | null;
status: string;
}
export interface IProjectKeyword {
id: number;
value: string;
}
export interface IProjectMetaData {
project: number;
keywords: any;
test_plan: any;
suite: any;
}
export interface ICustomField {
id: number;
name: string;
typeId: number;
projects: number[];
values: ICustomFieldValue[];
}
export interface ICustomFieldValue {
value: number;
label: string;
projects: number[];
}
export interface IUser {
label: string;
value: number;
}
export interface IGlobalData {
projects: IProject[];
suitsNo: number;
casesNo: number;
customFieldsInfo: ICustomField[];
usersInfo: IUser[];
templates: [];
}
export interface IUserData {
tested_by: any;
created_by: any;
updated_by: any;
}
export interface ICustomFieldData {
customField: any;
}
declare enum QueryNodeTypeEnum {
and = "and",
or = "or",
not = "not",
lt = "lt",
gte = "gte",
eq = "eq",
in = "in",
like = "like"
}
export interface IQueryNode {
type: QueryNodeTypeEnum;
property: string;
left?: IQueryNode;
right?: IQueryNode;
operation?: IQueryNode;
value: any;
}
export interface IUpdateCustomFieldResponseDTO {
item: IItem;
}
export interface IItem {
id: number;
name: string;
description: string;
scopes: IScopes;
values: IValuesEntity;
executionSubtypes: any[];
}
export interface IScopes {
testCase: boolean;
testPlan: boolean;
testExecution: boolean;
requirement: boolean;
executionParameter: boolean;
}
export interface IValuesEntity {
id: number;
name: string;
description: string | null;
}
export interface IUpdateTestCaseRequestDTO {
id: number;
versionId: number;
name: string;
summary: string;
preconditions: string;
priority: PRIORITY_ENUM;
executionType: EXECUTION_TYPE_ENUM;
values: Array<{
value: string;
}>;
steps: IStep[];
}
export interface IBulkUpdateTestCasePropertiesRequestDTO {
casesIds: number[];
properties: {
preconditions?: {
regex: string;
newValue: string;
};
summary?: {
regex: string;
newValue: string;
};
step?: {
regex: string;
newValue: string;
};
expectedResult?: {
regex: string;
newValue: string;
};
};
ignoreImmutable: boolean;
}
export interface ICreateTestCaseRequestDTO {
projectId: number;
parentId: number;
name: string;
priority: PRIORITY_ENUM;
executionType: EXECUTION_TYPE_ENUM;
summary: string;
preconditions: string;
values: Array<{
value: string;
}>;
steps: IStep[];
}
export interface ICreateTestCaseResponseDTO {
item: {
id: number;
order: number;
name: string;
summary?: any;
preconditions?: any;
externalId: number;
values: any;
};
}
export interface TemplateInfo {
suite: string;
name: string[];
priority?: string;
skip?: boolean;
skipReason?: string;
keywords?: string[];
maintainers?: string[];
}
export declare type IGetSuggestTestCasesResponseDTO = Array<{
itemId: number;
prefix: string;
name: string;
externalId: number;
}>;
export interface SearchOptions {
projectName: string;
keywords?: string[];
subtype?: string[];
suiteName?: string;
priority?: number[];
caseName?: string;
automatedBy?: string[];
caseId?: string;
dateUpdated?: string[] | string;
dateCreated?: string[] | string;
}
export interface CaseInfo {
id: string;
suite: string;
name: string;
priority: string;
ids: string[];
keywords: string[];
maintainers: string[];
ascendants: string;
docs: string[];
testSteps?: stepsInfo[];
preconditions?: string;
accountType?: string;
extensionType?: string;
entryPoint?: string[];
enterPoint?: string;
}
export interface stepsInfo {
step: string;
expectedResult: string;
}
export {};