All files / components/Levels SingleLevelDropdown.js

100% Statements 10/10
100% Branches 4/4
100% Functions 3/3
100% Lines 10/10

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      4x               39x   39x 7x 7x 7x 1x       39x         156x 156x                        
import { Form } from "react-bootstrap";
import useLocalStorage from "main/utils/useLocalStorage";
 
const SingleLevelDropdown = ({
  level,
  levels,
  setLevel,
  controlId,
  onChange = null,
  label = "Course Level",
}) => {
  const [levelState, setLevelState] = useLocalStorage(controlId, level);
 
  const handleLevelChange = (event) => {
    setLevel(event.target.value);
    setLevelState(event.target.value);
    if (onChange != null) {
      onChange(event);
    }
  };
 
  return (
    <Form.Group controlId={controlId}>
      <Form.Label>{label}</Form.Label>
      <Form.Control as="select" value={levelState} onChange={handleLevelChange}>
        {levels.map(function (object, i) {
          const key = `${controlId}-option-${i}`;
          return (
            <option key={key} data-testid={key} value={object[0]}>
              {object[1]}
            </option>
          );
        })}
      </Form.Control>
    </Form.Group>
  );
};
 
export default SingleLevelDropdown;