All files / components/Assignments TeamRepositoryAssignmentForm.jsx

100% Statements 45/45
100% Branches 2/2
100% Functions 1/1
100% Lines 45/45

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 57 58 59 60 61 62 63 641x 1x   1x 51x 51x 51x 51x 51x   51x 51x 51x 51x   51x 51x 51x 51x 51x 51x 51x 51x 51x 51x   51x 51x     51x 51x     51x 51x 51x 51x 51x     51x 51x 51x 51x 51x 51x 51x   51x 51x 51x 51x     51x 51x           51x  
import { useForm } from "react-hook-form";
import { Button, Form } from "react-bootstrap";
 
export default function TeamRepositoryAssignmentForm({ submitAction }) {
  const {
    register,
    formState: { errors },
    handleSubmit,
  } = useForm();
 
  return (
    <Form
      onSubmit={handleSubmit(submitAction)}
      data-testid="TeamRepositoryAssignmentForm"
    >
      <Form.Group className="mb-3">
        <Form.Label htmlFor="repoPrefix">Team Repository Prefix</Form.Label>
        <Form.Control
          id="repoPrefix"
          type="text"
          isInvalid={Boolean(errors.repoPrefix)}
          data-testid="TeamRepositoryAssignmentForm-repoPrefix"
          {...register("repoPrefix", {
            required: "Team Repository Prefix is required.",
          })}
        />
        <Form.Control.Feedback type="invalid">
          {errors.repoPrefix?.message}
        </Form.Control.Feedback>
      </Form.Group>
      <Form.Group className="mb-3">
        <Form.Label htmlFor="assignmentPrivacy">
          Private Repositories?
        </Form.Label>
        <Form.Check
          id="assignmentPrivacy"
          type="switch"
          data-testid="TeamRepositoryAssignmentForm-assignmentPrivacy"
          {...register("assignmentPrivacy")}
        />
      </Form.Group>
      <Form.Group className="mb-3">
        <Form.Label htmlFor="permissions">Team Permissions</Form.Label>
        <Form.Control
          as="select"
          defaultValue={"MAINTAIN"}
          data-testid={"TeamRepositoryAssignmentForm-permissions"}
          {...register("permissions")}
        >
          <option value="READ">Read</option>
          <option value="WRITE">Write</option>
          <option value="MAINTAIN">Maintain</option>
          <option value="ADMIN">Admin</option>
        </Form.Control>
      </Form.Group>
      <Form.Group>
        <Button type="submit" data-testid="TeamRepositoryAssignmentForm-submit">
          Create
        </Button>
      </Form.Group>
    </Form>
  );
}