import type { FunctionalComponent } from "preact"; import type { ClassicTestResult } from "types"; import { TestResultDescription } from "@/components/TestResult/TestResultDescription"; import { TestResultError } from "@/components/TestResult/TestResultError"; import { TestResultLinks } from "@/components/TestResult/TestResultLinks"; import { TestResultMetadata } from "@/components/TestResult/TestResultMetadata"; import { TestResultParameters } from "@/components/TestResult/TestResultParameters"; import { TestResultSetup } from "@/components/TestResult/TestResultSetup"; import { TestResultSteps } from "@/components/TestResult/TestResultSteps"; import { TestResultTeardown } from "@/components/TestResult/TestResultTeardown"; import * as styles from "@/components/BaseLayout/styles.scss"; export type TestResultOverviewProps = { testResult?: ClassicTestResult; }; export const TestResultOverview: FunctionalComponent = ({ testResult }) => { const { error, parameters, groupedLabels, links, descriptionHtml, setup, steps, teardown } = testResult || {}; return ( <> {Boolean(error?.message) && (
)} {Boolean(parameters?.length) && } {Boolean(groupedLabels && Object.keys(groupedLabels || {})?.length) && ( )} {Boolean(links?.length) && } {Boolean(descriptionHtml) && }
{Boolean(setup?.length) && } {Boolean(steps?.length) && } {Boolean(teardown?.length) && }
); };