feat: test case detail dialog
This commit is contained in:
@@ -109,14 +109,24 @@ export default function TestCaseDetailDialog({
|
|||||||
{templates[testCase.template].uid === 'text' ? (
|
{templates[testCase.template].uid === 'text' ? (
|
||||||
<>
|
<>
|
||||||
<p className={'font-bold mt-2'}>{messages.testDetail}</p>
|
<p className={'font-bold mt-2'}>{messages.testDetail}</p>
|
||||||
<div className="flex my-2">
|
<div className="flex gap-2 my-2">
|
||||||
<div className="w-1/2">
|
<div className="w-1/2">
|
||||||
<p className={'font-bold'}>{messages.preconditions}</p>
|
<Textarea
|
||||||
<div>{testCase.preConditions}</div>
|
isReadOnly
|
||||||
|
size="sm"
|
||||||
|
variant="flat"
|
||||||
|
label={messages.preconditions}
|
||||||
|
value={testCase.preConditions}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="w-1/2">
|
<div className="w-1/2">
|
||||||
<p className={'font-bold'}>{messages.expectedResult}</p>
|
<Textarea
|
||||||
<div>{testCase.expectedResults}</div>
|
isReadOnly
|
||||||
|
size="sm"
|
||||||
|
variant="flat"
|
||||||
|
label={messages.expectedResult}
|
||||||
|
value={testCase.expectedResults}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { useState, useEffect, useMemo } from 'react';
|
import { useState, useEffect, useMemo, ReactNode } from 'react';
|
||||||
import {
|
import {
|
||||||
Table,
|
Table,
|
||||||
TableHeader,
|
TableHeader,
|
||||||
@@ -129,7 +129,7 @@ export default function TestCaseSelector({
|
|||||||
return isIncluded;
|
return isIncluded;
|
||||||
};
|
};
|
||||||
|
|
||||||
const renderCell = (testCase: CaseType, columnKey: Key) => {
|
const renderCell = (testCase: CaseType, columnKey: string): ReactNode => {
|
||||||
const cellValue = testCase[columnKey as keyof CaseType];
|
const cellValue = testCase[columnKey as keyof CaseType];
|
||||||
const isIncluded = isCaseIncluded(testCase);
|
const isIncluded = isCaseIncluded(testCase);
|
||||||
const runStatus = testCase.RunCases && testCase.RunCases.length > 0 ? testCase.RunCases[0].status : 0;
|
const runStatus = testCase.RunCases && testCase.RunCases.length > 0 ? testCase.RunCases[0].status : 0;
|
||||||
@@ -144,13 +144,13 @@ export default function TestCaseSelector({
|
|||||||
endContent={<MoveDiagonal size={12} className="text-transparent group-hover:text-inherit" />}
|
endContent={<MoveDiagonal size={12} className="text-transparent group-hover:text-inherit" />}
|
||||||
onPress={() => showTestCaseDetailDialog(testCase.id)}
|
onPress={() => showTestCaseDetailDialog(testCase.id)}
|
||||||
>
|
>
|
||||||
{cellValue}
|
{cellValue as string}
|
||||||
</Button>
|
</Button>
|
||||||
);
|
);
|
||||||
case 'priority':
|
case 'priority':
|
||||||
return (
|
return (
|
||||||
<div className={isIncluded ? '' : notIncludedCaseClass}>
|
<div className={isIncluded ? '' : notIncludedCaseClass}>
|
||||||
<TestCasePriority priorityValue={cellValue} priorityMessages={priorityMessages} />
|
<TestCasePriority priorityValue={cellValue as number} priorityMessages={priorityMessages} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
case 'runStatus':
|
case 'runStatus':
|
||||||
@@ -219,7 +219,7 @@ export default function TestCaseSelector({
|
|||||||
</Dropdown>
|
</Dropdown>
|
||||||
);
|
);
|
||||||
default:
|
default:
|
||||||
return cellValue;
|
return cellValue as string;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user