/********************************************************************* * © Copyright IBM Corp. 2024 *********************************************************************/ import React from 'react' import PropTypes from 'prop-types' import { IconsGeneralColor, FontColorSuccess, FontColorError, Third300 } from '@targetprocess/css-variables' export const Statuses = { PASSED: 'passed', FAILED: 'failed', SKIPPED: 'skipped', BLOCKED: 'blocked', NOTRUN: 'notrun', ONHOLD: 'onhold' } as const export const QAStatusIcon = ({ color = IconsGeneralColor, status = Statuses.PASSED as typeof Statuses[keyof typeof Statuses] }) => ( {status === Statuses.PASSED && ( )} {status === Statuses.FAILED && ( )} {status === Statuses.SKIPPED && ( )} {status === Statuses.ONHOLD && ( )} {status === Statuses.BLOCKED && ( )} {status === Statuses.NOTRUN && ( )} ) QAStatusIcon.category = 'QA' QAStatusIcon.propTypes = { // hasOwnProperty explicitly called here // eslint-disable-next-line security/detect-object-injection status: PropTypes.oneOf(Object.keys(Statuses).map(key => Statuses[key])).isRequired, color: PropTypes.string } QAStatusIcon.Statuses = Statuses