All files / components/Reviews ModeratorCommentsModal.jsx

100% Statements 9/9
100% Branches 6/6
100% Functions 4/4
100% Lines 9/9

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 64 65 66 67 68 69 70                  87x   87x 7x 7x 7x     87x 3x 3x                                                 8x                                                  
import React, { useState } from "react";
import { Modal, Form, Button } from "react-bootstrap";
 
export default function ModeratorCommentsModal({
  show,
  onHide,
  status,
  onSubmit,
}) {
  const [comments, setComments] = useState("");
 
  const handleSubmit = () => {
    onSubmit(comments);
    setComments("");
    onHide();
  };
 
  const handleClose = () => {
    setComments("");
    onHide();
  };
 
  return (
    <Modal
      show={show}
      onHide={handleClose}
      data-testid="ModeratorCommentsModal"
    >
      <Modal.Header closeButton data-testid="ModeratorCommentsModal-header">
        <Modal.Title data-testid="ModeratorCommentsModal-title">
          {status === "APPROVED" ? "Approve Review" : "Reject Review"}
        </Modal.Title>
      </Modal.Header>
      <Modal.Body>
        <Form>
          <Form.Group>
            <Form.Label htmlFor="moderator-comments">
              Moderator Comments
            </Form.Label>
            <Form.Control
              id="moderator-comments"
              as="textarea"
              rows={3}
              value={comments}
              onChange={(e) => setComments(e.target.value)}
              data-testid="ModeratorCommentsModal-comments"
            />
          </Form.Group>
        </Form>
      </Modal.Body>
      <Modal.Footer>
        <Button
          variant="secondary"
          onClick={handleClose}
          data-testid="ModeratorCommentsModal-cancel"
        >
          Cancel
        </Button>
        <Button
          variant={status === "APPROVED" ? "primary" : "danger"}
          onClick={handleSubmit}
          data-testid="ModeratorCommentsModal-submit"
        >
          {status === "APPROVED" ? "Approve" : "Reject"}
        </Button>
      </Modal.Footer>
    </Modal>
  );
}