Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | 1x 1x 1x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 1x | import { Button, Form } from "react-bootstrap"; import { useForm } from "react-hook-form"; import { useNavigate } from "react-router"; function RoleEmailForm({ submitAction, buttonLabel = "Create" }) { // Stryker disable all const { register, formState: { errors }, handleSubmit, } = useForm(); // Stryker restore all const navigate = useNavigate(); const testIdPrefix = "RoleEmailForm"; // Stryker disable next-line Regex const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return ( <Form onSubmit={handleSubmit(submitAction)}> <Form.Group className="mb-3"> <Form.Label htmlFor="email">Email</Form.Label> <Form.Control // Stryker disable next-line all data-testid={testIdPrefix + "-email"} id="email" type="text" isInvalid={Boolean(errors.email)} {...register("email", { required: "Email is required.", pattern: emailRegex, })} /> <Form.Control.Feedback type="invalid"> {errors.email && "A valid email is required."} </Form.Control.Feedback> </Form.Group> <Button type="submit" data-testid={testIdPrefix + "-submit"}> {buttonLabel} </Button> <Button variant="Secondary" onClick={() => navigate(-1)} data-testid={testIdPrefix + "-cancel"} > Cancel </Button> </Form> ); } export default RoleEmailForm; |