fix(striker-ui): add input tests to CommonUpsInputGroup

main
Tsu-ba-me 2 years ago
parent 8abd47eb18
commit 5f4ecf7bcf
  1. 131
      striker-ui/components/ManageUps/CommonUpsInputGroup.tsx
  2. 5
      striker-ui/types/CommonUpsInputGroup.d.ts

@ -1,53 +1,104 @@
import { FC } from 'react'; import { ReactElement } from 'react';
import Grid from '../Grid'; import Grid from '../Grid';
import InputWithRef from '../InputWithRef'; import InputWithRef from '../InputWithRef';
import OutlinedInputWithLabel from '../OutlinedInputWithLabel'; import OutlinedInputWithLabel from '../OutlinedInputWithLabel';
import {
buildIPAddressTestBatch,
buildPeacefulStringTestBatch,
} from '../../lib/test_input';
const INPUT_ID_UPS_IP = 'common-ups-input-ip-address'; const INPUT_ID_UPS_IP = 'common-ups-input-ip-address';
const INPUT_ID_UPS_NAME = 'common-ups-input-host-name'; const INPUT_ID_UPS_NAME = 'common-ups-input-host-name';
const CommonUpsInputGroup: FC<CommonUpsInputGroupProps> = ({ const INPUT_LABEL_UPS_IP = 'IP address';
const INPUT_LABEL_UPS_NAME = 'Host name';
const CommonUpsInputGroup = <
M extends {
[K in typeof INPUT_ID_UPS_IP | typeof INPUT_ID_UPS_NAME]: string;
},
>({
formUtils: {
buildFinishInputTestBatchFunction,
buildInputFirstRenderFunction,
msgSetters,
},
previous: { upsIPAddress: previousIpAddress, upsName: previousUpsName } = {}, previous: { upsIPAddress: previousIpAddress, upsName: previousUpsName } = {},
}) => ( }: CommonUpsInputGroupProps<M>): ReactElement => (
<> <Grid
<Grid columns={{ xs: 1, sm: 2 }}
columns={{ xs: 1, sm: 2 }} layout={{
layout={{ 'common-ups-input-cell-host-name': {
'common-ups-input-cell-host-name': { children: (
children: ( <InputWithRef
<InputWithRef input={
input={ <OutlinedInputWithLabel
<OutlinedInputWithLabel id={INPUT_ID_UPS_NAME}
id={INPUT_ID_UPS_NAME} label={INPUT_LABEL_UPS_NAME}
label="Host name" value={previousUpsName}
value={previousUpsName} />
/> }
} inputTestBatch={buildPeacefulStringTestBatch(
required INPUT_LABEL_UPS_NAME,
/> () => {
), msgSetters[INPUT_ID_UPS_NAME]();
}, },
'common-ups-input-cell-ip-address': { {
children: ( onFinishBatch:
<InputWithRef buildFinishInputTestBatchFunction(INPUT_ID_UPS_NAME),
input={ },
<OutlinedInputWithLabel (message) => {
id={INPUT_ID_UPS_IP} msgSetters[INPUT_ID_UPS_NAME]({
label="IP address" children: message,
value={previousIpAddress} });
/> },
} )}
required onFirstRender={buildInputFirstRenderFunction(INPUT_ID_UPS_NAME)}
/> required
), />
}, ),
}} },
spacing="1em" 'common-ups-input-cell-ip-address': {
/> children: (
</> <InputWithRef
input={
<OutlinedInputWithLabel
id={INPUT_ID_UPS_IP}
label={INPUT_LABEL_UPS_IP}
value={previousIpAddress}
/>
}
inputTestBatch={buildIPAddressTestBatch(
INPUT_LABEL_UPS_IP,
() => {
msgSetters[INPUT_ID_UPS_IP]();
},
{
onFinishBatch:
buildFinishInputTestBatchFunction(INPUT_ID_UPS_IP),
},
(message) => {
msgSetters[INPUT_ID_UPS_IP]({
children: message,
});
},
)}
onFirstRender={buildInputFirstRenderFunction(INPUT_ID_UPS_IP)}
required
/>
),
},
}}
spacing="1em"
/>
); );
export { INPUT_ID_UPS_IP, INPUT_ID_UPS_NAME }; export {
INPUT_ID_UPS_IP,
INPUT_ID_UPS_NAME,
INPUT_LABEL_UPS_IP,
INPUT_LABEL_UPS_NAME,
};
export default CommonUpsInputGroup; export default CommonUpsInputGroup;

@ -5,4 +5,7 @@ type CommonUpsInputGroupOptionalProps = {
}; };
}; };
type CommonUpsInputGroupProps = CommonUpsInputGroupOptionalProps; type CommonUpsInputGroupProps<M extends MapToInputTestID> =
CommonUpsInputGroupOptionalProps & {
formUtils: FormUtils<M>;
};

Loading…
Cancel
Save