diff --git a/lib/database/queries/alerting.js b/lib/database/queries/alerting.js index 4bb0ce5..9e02639 100644 --- a/lib/database/queries/alerting.js +++ b/lib/database/queries/alerting.js @@ -11,8 +11,8 @@ const PG_DISABLED = process.env.POSTGRES_DISABLED; const silencedMock = () => { return [{ - name: `single`, - class: `single.js`, + name: `failing`, + class: `failing.js`, method: "FAKEMETHOD", id: 0, silencedUntil: new Date().toJSON(), diff --git a/src/views/failing/Failing.jsx b/src/views/failing/Failing.jsx index e737e75..c00034b 100644 --- a/src/views/failing/Failing.jsx +++ b/src/views/failing/Failing.jsx @@ -1,6 +1,6 @@ import { useState, useContext } from "react"; import { useNavigate } from "react-router-dom"; -import {useCurrentlyFailing} from "../../Queries.jsx"; +import {useCurrentlyFailing, useSilencedAlerts} from "../../Queries.jsx"; import StoreContext from "../../ctx/StoreContext.jsx"; import JobContext from "../../ctx/JobContext.jsx"; import SilenceDialog from "../alerting/SilenceDialog.jsx"; @@ -29,7 +29,7 @@ export default function Failing() { silenceRequest, } = useContext(StoreContext); const {isLoading, data: failing} = useCurrentlyFailing(); - + const {isSilencedLoading, data:silencedAlerts} = useSilencedAlerts(); const [silenceEntry, setSilenceEntry] = useState({ open: false }); const closeSilence = () => setSilenceEntry({ ...silenceEntry, open: false }); @@ -56,9 +56,22 @@ export default function Failing() { navigate(`/qualiteer/jobs#${jobId}`); }; + const failingTestsWithJobs = () => { + const silences = silencedAlerts ?? []; + for(var test of failing){ + if(test.isCompound) continue; + const job = jobState.jobs.find((j)=>j.builderCache.testNames.includes(test.name)) + if(job) test.job = job; + const silence = silences.find((s)=>s.name === test.name || s.class === test.class) + + if(silence) test.silencedUntil = silence; + } + return failing; + } + return (