refactor: test run case status messages duplication
This commit is contained in:
@@ -38,7 +38,7 @@ import { TokenContext } from '@/utils/TokenProvider';
|
||||
import { useTheme } from 'next-themes';
|
||||
import { useFormGuard } from '@/utils/formGuard';
|
||||
import { PriorityMessages } from '@/types/priority';
|
||||
import { TestStatusMessages } from '@/types/testStatus';
|
||||
import { TestRunCaseStatusMessages } from '@/types/testRunCaseStatus';
|
||||
|
||||
const defaultTestRun = {
|
||||
id: 0,
|
||||
@@ -55,12 +55,19 @@ type Props = {
|
||||
projectId: string;
|
||||
runId: string;
|
||||
messages: RunMessages;
|
||||
statusMessages: TestStatusMessages;
|
||||
testRunCaseStatusMessages: TestRunCaseStatusMessages;
|
||||
priorityMessages: PriorityMessages;
|
||||
locale: string;
|
||||
};
|
||||
|
||||
export default function RunEditor({ projectId, runId, messages, statusMessages, priorityMessages, locale }: Props) {
|
||||
export default function RunEditor({
|
||||
projectId,
|
||||
runId,
|
||||
messages,
|
||||
testRunCaseStatusMessages,
|
||||
priorityMessages,
|
||||
locale,
|
||||
}: Props) {
|
||||
const context = useContext(TokenContext);
|
||||
const { theme, setTheme } = useTheme();
|
||||
const [testRun, setTestRun] = useState<RunType>(defaultTestRun);
|
||||
@@ -206,7 +213,11 @@ export default function RunEditor({ projectId, runId, messages, statusMessages,
|
||||
</Tooltip>
|
||||
</div>
|
||||
|
||||
<RunProgressChart statusCounts={runStatusCounts} statusMessages={statusMessages} theme={theme} />
|
||||
<RunProgressChart
|
||||
statusCounts={runStatusCounts}
|
||||
testRunCaseStatusMessages={testRunCaseStatusMessages}
|
||||
theme={theme}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex-grow">
|
||||
@@ -318,7 +329,7 @@ export default function RunEditor({ projectId, runId, messages, statusMessages,
|
||||
onIncludeCase={(includeTestId) => handleIncludeExcludeCase(true, includeTestId)}
|
||||
onExcludeCase={(excludeCaseId) => handleIncludeExcludeCase(false, excludeCaseId)}
|
||||
messages={messages}
|
||||
statusMessages={statusMessages}
|
||||
testRunCaseStatusMessages={testRunCaseStatusMessages}
|
||||
priorityMessages={priorityMessages}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -3,16 +3,16 @@ import { useState, useEffect } from 'react';
|
||||
import dynamic from 'next/dynamic';
|
||||
import { testRunCaseStatus } from '@/config/selection';
|
||||
import { RunStatusCountType } from '@/types/run';
|
||||
import { TestStatusMessages } from '@/types/testStatus';
|
||||
import { TestRunCaseStatusMessages } from '@/types/testRunCaseStatus';
|
||||
const Chart = dynamic(() => import('react-apexcharts'), { ssr: false });
|
||||
|
||||
type Props = {
|
||||
statusCounts: RunStatusCountType[];
|
||||
statusMessages: TestStatusMessages;
|
||||
testRunCaseStatusMessages: TestRunCaseStatusMessages;
|
||||
theme: string | undefined;
|
||||
};
|
||||
|
||||
export default function RunProgressDounut({ statusCounts, statusMessages, theme }: Props) {
|
||||
export default function RunProgressDounut({ statusCounts, testRunCaseStatusMessages, theme }: Props) {
|
||||
const [chartData, setChartData] = useState({
|
||||
series: [],
|
||||
options: {
|
||||
@@ -29,7 +29,7 @@ export default function RunProgressDounut({ statusCounts, statusMessages, theme
|
||||
return found ? found.count : 0;
|
||||
});
|
||||
|
||||
const labels = testRunCaseStatus.map((entry) => statusMessages[entry.uid]);
|
||||
const labels = testRunCaseStatus.map((entry) => testRunCaseStatusMessages[entry.uid]);
|
||||
const colors = testRunCaseStatus.map((entry) => entry.chartColor);
|
||||
const legend = {
|
||||
labels: {
|
||||
|
||||
@@ -32,7 +32,7 @@ import { RunMessages } from '@/types/run';
|
||||
import TestCaseDetailDialog from './TestCaseDetailDialog';
|
||||
import { PriorityMessages } from '@/types/priority';
|
||||
import TestCasePriority from '@/components/TestCasePriority';
|
||||
import { TestStatusMessages } from '@/types/testStatus';
|
||||
import { TestRunCaseStatusMessages } from '@/types/testRunCaseStatus';
|
||||
|
||||
type Props = {
|
||||
cases: CaseType[];
|
||||
@@ -43,7 +43,7 @@ type Props = {
|
||||
onIncludeCase: (includeCaseId: number) => {};
|
||||
onExcludeCase: (excludeCaseId: number) => {};
|
||||
messages: RunMessages;
|
||||
statusMessages: TestStatusMessages;
|
||||
testRunCaseStatusMessages: TestRunCaseStatusMessages;
|
||||
priorityMessages: PriorityMessages;
|
||||
};
|
||||
|
||||
@@ -56,7 +56,7 @@ export default function TestCaseSelector({
|
||||
onIncludeCase,
|
||||
onExcludeCase,
|
||||
messages,
|
||||
statusMessages,
|
||||
testRunCaseStatusMessages,
|
||||
priorityMessages,
|
||||
}: Props) {
|
||||
const headerColumns = [
|
||||
@@ -160,7 +160,9 @@ export default function TestCaseSelector({
|
||||
startContent={isIncluded && renderStatusIcon(testRunCaseStatus[runStatus].uid)}
|
||||
endContent={isIncluded && <ChevronDown size={16} />}
|
||||
>
|
||||
<span className="w-12">{isIncluded && statusMessages[testRunCaseStatus[runStatus].uid]}</span>
|
||||
<span className="w-12">
|
||||
{isIncluded && testRunCaseStatusMessages[testRunCaseStatus[runStatus].uid]}
|
||||
</span>
|
||||
</Button>
|
||||
</DropdownTrigger>
|
||||
<DropdownMenu disabledKeys={disabledStatusKeys} aria-label="test case actions">
|
||||
@@ -170,7 +172,7 @@ export default function TestCaseSelector({
|
||||
startContent={renderStatusIcon(runCaseStatus.uid)}
|
||||
onPress={() => onChangeStatus(testCase.id, index)}
|
||||
>
|
||||
{statusMessages[runCaseStatus.uid]}
|
||||
{testRunCaseStatusMessages[runCaseStatus.uid]}
|
||||
</DropdownItem>
|
||||
))}
|
||||
</DropdownMenu>
|
||||
|
||||
@@ -2,7 +2,7 @@ import RunEditor from './RunEditor';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { RunMessages } from '@/types/run';
|
||||
import { PriorityMessages } from '@/types/priority';
|
||||
import { TestStatusMessages } from '@/types/testStatus';
|
||||
import { TestRunCaseStatusMessages } from '@/types/testRunCaseStatus';
|
||||
|
||||
export default function Page({ params }: { params: { projectId: string; runId: string; locale: string } }) {
|
||||
const t = useTranslations('Run');
|
||||
@@ -38,13 +38,13 @@ export default function Page({ params }: { params: { projectId: string; runId: s
|
||||
close: t('close'),
|
||||
};
|
||||
|
||||
const st = useTranslations('Status');
|
||||
const statusMessages: TestStatusMessages = {
|
||||
untested: st('untested'),
|
||||
passed: st('passed'),
|
||||
failed: st('failed'),
|
||||
retest: st('retest'),
|
||||
skipped: st('skipped'),
|
||||
const rcst = useTranslations('RunCaseStatus');
|
||||
const testRunCaseStatusMessages: TestRunCaseStatusMessages = {
|
||||
untested: rcst('untested'),
|
||||
passed: rcst('passed'),
|
||||
failed: rcst('failed'),
|
||||
retest: rcst('retest'),
|
||||
skipped: rcst('skipped'),
|
||||
};
|
||||
|
||||
const pt = useTranslations('Priority');
|
||||
@@ -60,7 +60,7 @@ export default function Page({ params }: { params: { projectId: string; runId: s
|
||||
projectId={params.projectId}
|
||||
runId={params.runId}
|
||||
messages={messages}
|
||||
statusMessages={statusMessages}
|
||||
testRunCaseStatusMessages={testRunCaseStatusMessages}
|
||||
priorityMessages={priorityMessages}
|
||||
locale={params.locale}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user