All files / utils ArticlesUtils.js

100% Statements 68/68
100% Branches 11/11
100% Functions 5/5
100% Lines 68/68

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 71 72 73 74 75 76 771x   1x 12x 2x 2x   12x 1x 1x   12x 7x 7x   2x 2x   1x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x   1x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x   1x 3x 3x 3x   1x 3x 3x 3x 3x 3x 3x 3x 3x  
import { toast } from "react-toastify";
 
const normalizeDateAdded = (dateAdded) => {
  if (!dateAdded) {
    return dateAdded;
  }
 
  if (!dateAdded.includes(":")) {
    return `${dateAdded}T00:00:00`;
  }
 
  if (/T\d{2}:\d{2}$/.test(dateAdded)) {
    return `${dateAdded}:00`;
  }
 
  return dateAdded;
};
 
export function articleToCreateParams({
  title,
  url,
  explanation,
  email,
  dateAdded,
}) {
  return {
    url: "/api/articles/post",
    method: "POST",
    params: {
      title,
      url,
      explanation,
      email,
      dateAdded: normalizeDateAdded(dateAdded),
    },
  };
}
 
export function articleToPutParams({
  id,
  title,
  url,
  explanation,
  email,
  dateAdded,
}) {
  return {
    url: "/api/articles",
    method: "PUT",
    params: {
      id,
    },
    data: {
      title,
      url,
      explanation,
      email,
      dateAdded: normalizeDateAdded(dateAdded),
    },
  };
}
 
export function onDeleteSuccess(message) {
  console.log(message);
  toast(message);
}
 
export function cellToAxiosParamsDelete(cell) {
  return {
    url: "/api/articles",
    method: "DELETE",
    params: {
      id: cell.row.original.id,
    },
  };
}