From c01a44c5252568d8ceee6f09e415a30461fed86b Mon Sep 17 00:00:00 2001 From: Martina Carella Date: Mon, 20 Jan 2025 12:55:07 +0100 Subject: [PATCH] fixed tests + props warning (#2688) --- frontend/src/components/dashboard/charts.jsx | 29 ++++++++++ .../components/dashboard/charts.test.jsx | 57 ++++++++++++------- 2 files changed, 65 insertions(+), 21 deletions(-) diff --git a/frontend/src/components/dashboard/charts.jsx b/frontend/src/components/dashboard/charts.jsx index f16f034571..95a8857a29 100644 --- a/frontend/src/components/dashboard/charts.jsx +++ b/frontend/src/components/dashboard/charts.jsx @@ -1,5 +1,6 @@ import React from "react"; import { Bar } from "recharts"; +import PropTypes from "prop-types"; import { getRandomColorsArray, AnyChartWidget } from "@certego/certego-ui"; @@ -215,3 +216,31 @@ export const JobTopTLPBarChart = React.memo((props) => { return ; }); + +JobStatusBarChart.propTypes = { + orgName: PropTypes.string.isRequired, +}; + +JobTypeBarChart.propTypes = { + orgName: PropTypes.string.isRequired, +}; + +JobObsClassificationBarChart.propTypes = { + orgName: PropTypes.string.isRequired, +}; + +JobFileMimetypeBarChart.propTypes = { + orgName: PropTypes.string.isRequired, +}; + +JobTopPlaybookBarChart.propTypes = { + orgName: PropTypes.string.isRequired, +}; + +JobTopUserBarChart.propTypes = { + orgName: PropTypes.string.isRequired, +}; + +JobTopTLPBarChart.propTypes = { + orgName: PropTypes.string.isRequired, +}; diff --git a/frontend/tests/components/dashboard/charts.test.jsx b/frontend/tests/components/dashboard/charts.test.jsx index 2fb230daed..6a06ebebf4 100644 --- a/frontend/tests/components/dashboard/charts.test.jsx +++ b/frontend/tests/components/dashboard/charts.test.jsx @@ -17,6 +17,7 @@ jest.mock("recharts", () => { const OriginalModule = jest.requireActual("recharts"); return { ...OriginalModule, + // eslint-disable-next-line react/prop-types ResponsiveContainer: ({ children }) => ( {children} @@ -72,17 +73,19 @@ describe("test dashboard's charts", () => { // needed to support different timezones (ex: ci and local could be different) expect( screen.getByText( - `28/11, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-28T22:00:00Z").getDate()}/${new Date("2024-11-28T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); expect( screen.getByText( - `29/11, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T22:00:00Z").getDate()}/${new Date("2024-11-29T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); + let hours = new Date("2024-11-29T23:00:00Z").getHours(); + if (hours === 0) hours = "00"; expect( screen.getByText( - `29/11, ${new Date("2024-11-29T23:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T23:00:00Z").getDate()}/${new Date("2024-11-29T23:00:00Z").getMonth() + 1}, ${hours}:00`, ), ).toBeInTheDocument(); expect(screen.getByText("pending")).toBeInTheDocument(); @@ -136,17 +139,19 @@ describe("test dashboard's charts", () => { // needed to support different timezones (ex: ci and local could be different) expect( screen.getByText( - `28/11, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-28T22:00:00Z").getDate()}/${new Date("2024-11-28T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); expect( screen.getByText( - `29/11, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T22:00:00Z").getDate()}/${new Date("2024-11-29T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); + let hours = new Date("2024-11-29T23:00:00Z").getHours(); + if (hours === 0) hours = "00"; expect( screen.getByText( - `29/11, ${new Date("2024-11-29T23:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T23:00:00Z").getDate()}/${new Date("2024-11-29T23:00:00Z").getMonth() + 1}, ${hours}:00`, ), ).toBeInTheDocument(); expect(screen.getByText("file")).toBeInTheDocument(); @@ -207,17 +212,19 @@ describe("test dashboard's charts", () => { // needed to support different timezones (ex: ci and local could be different) expect( screen.getByText( - `28/11, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-28T22:00:00Z").getDate()}/${new Date("2024-11-28T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); expect( screen.getByText( - `29/11, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T22:00:00Z").getDate()}/${new Date("2024-11-29T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); + let hours = new Date("2024-11-29T23:00:00Z").getHours(); + if (hours === 0) hours = "00"; expect( screen.getByText( - `29/11, ${new Date("2024-11-29T23:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T23:00:00Z").getDate()}/${new Date("2024-11-29T23:00:00Z").getMonth() + 1}, ${hours}:00`, ), ).toBeInTheDocument(); expect(screen.getByText("ip")).toBeInTheDocument(); @@ -275,17 +282,19 @@ describe("test dashboard's charts", () => { // needed to support different timezones (ex: ci and local could be different) expect( screen.getByText( - `28/11, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-28T22:00:00Z").getDate()}/${new Date("2024-11-28T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); expect( screen.getByText( - `29/11, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T22:00:00Z").getDate()}/${new Date("2024-11-29T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); + let hours = new Date("2024-11-29T23:00:00Z").getHours(); + if (hours === 0) hours = "00"; expect( screen.getByText( - `29/11, ${new Date("2024-11-29T23:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T23:00:00Z").getDate()}/${new Date("2024-11-29T23:00:00Z").getMonth() + 1}, ${hours}:00`, ), ).toBeInTheDocument(); expect(screen.getByText("application/json")).toBeInTheDocument(); @@ -343,17 +352,19 @@ describe("test dashboard's charts", () => { // needed to support different timezones (ex: ci and local could be different) expect( screen.getByText( - `28/11, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-28T22:00:00Z").getDate()}/${new Date("2024-11-28T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); expect( screen.getByText( - `29/11, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T22:00:00Z").getDate()}/${new Date("2024-11-29T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); + let hours = new Date("2024-11-29T23:00:00Z").getHours(); + if (hours === 0) hours = "00"; expect( screen.getByText( - `29/11, ${new Date("2024-11-29T23:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T23:00:00Z").getDate()}/${new Date("2024-11-29T23:00:00Z").getMonth() + 1}, ${hours}:00`, ), ).toBeInTheDocument(); expect(screen.getByText("Dns")).toBeInTheDocument(); @@ -412,17 +423,19 @@ describe("test dashboard's charts", () => { // needed to support different timezones (ex: ci and local could be different) expect( screen.getByText( - `28/11, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-28T22:00:00Z").getDate()}/${new Date("2024-11-28T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); expect( screen.getByText( - `29/11, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T22:00:00Z").getDate()}/${new Date("2024-11-29T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); + let hours = new Date("2024-11-29T23:00:00Z").getHours(); + if (hours === 0) hours = "00"; expect( screen.getByText( - `29/11, ${new Date("2024-11-29T23:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T23:00:00Z").getDate()}/${new Date("2024-11-29T23:00:00Z").getMonth() + 1}, ${hours}:00`, ), ).toBeInTheDocument(); expect(screen.getByText("user_a")).toBeInTheDocument(); @@ -481,17 +494,19 @@ describe("test dashboard's charts", () => { // needed to support different timezones (ex: ci and local could be different) expect( screen.getByText( - `28/11, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-28T22:00:00Z").getDate()}/${new Date("2024-11-28T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-28T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); expect( screen.getByText( - `29/11, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T22:00:00Z").getDate()}/${new Date("2024-11-29T22:00:00Z").getMonth() + 1}, ${new Date("2024-11-29T22:00:00Z").getHours()}:00`, ), ).toBeInTheDocument(); + let hours = new Date("2024-11-29T23:00:00Z").getHours(); + if (hours === 0) hours = "00"; expect( screen.getByText( - `29/11, ${new Date("2024-11-29T23:00:00Z").getHours()}:00`, + `${new Date("2024-11-29T23:00:00Z").getDate()}/${new Date("2024-11-29T23:00:00Z").getMonth() + 1}, ${hours}:00`, ), ).toBeInTheDocument(); expect(screen.getByText("AMBER")).toBeInTheDocument();