diff --git a/src/Frontend/src/resources/EndpointThroughputSummary.ts b/src/Frontend/src/resources/EndpointThroughputSummary.ts index f6cae8d3d..764e6455c 100644 --- a/src/Frontend/src/resources/EndpointThroughputSummary.ts +++ b/src/Frontend/src/resources/EndpointThroughputSummary.ts @@ -3,7 +3,13 @@ interface EndpointThroughputSummary { is_known_endpoint: boolean; user_indicator: string; max_daily_throughput: number; + monthly_throughput?: MonthlyThroughput[]; max_monthly_throughput?: number; } +export interface MonthlyThroughput { + month: string; + throughput: number; +} + export type { EndpointThroughputSummary as default }; diff --git a/src/Frontend/src/views/throughputreport/endpoints/DetectedListView.spec.ts b/src/Frontend/src/views/throughputreport/endpoints/DetectedListView.spec.ts index 4fab23496..1709c4d03 100644 --- a/src/Frontend/src/views/throughputreport/endpoints/DetectedListView.spec.ts +++ b/src/Frontend/src/views/throughputreport/endpoints/DetectedListView.spec.ts @@ -255,7 +255,7 @@ describe("DetectedListView tests", () => { //let orderedNames = unsortedNames.sort((a, b) => a.localeCompare(b)); let idx = 0; for (const row of within(table).getAllByRole("row").slice(1)) { - expect(within(row).getByRole("cell", { name: "name" }).textContent).toBe(lexicallySortedNames[idx++]); + expect(within(row).getByRole("cell", { name: "name" }).textContent.trim()).toBe(lexicallySortedNames[idx++]); } await user.click(screen.getByRole("button", { name: /Sort by/i })); @@ -264,7 +264,7 @@ describe("DetectedListView tests", () => { const reverseLexicallySortedNames = lexicallySortedNames.reverse(); idx = 0; for (const row of within(table).getAllByRole("row").slice(1)) { - expect(within(row).getByRole("cell", { name: "name" }).textContent).toBe(reverseLexicallySortedNames[idx++]); + expect(within(row).getByRole("cell", { name: "name" }).textContent.trim()).toBe(reverseLexicallySortedNames[idx++]); } }); }); diff --git a/src/Frontend/src/views/throughputreport/endpoints/DetectedListView.vue b/src/Frontend/src/views/throughputreport/endpoints/DetectedListView.vue index e967c22b5..210f76dc0 100644 --- a/src/Frontend/src/views/throughputreport/endpoints/DetectedListView.vue +++ b/src/Frontend/src/views/throughputreport/endpoints/DetectedListView.vue @@ -15,6 +15,7 @@ import { useHiddenFeature } from "./useHiddenFeature"; import FAIcon from "@/components/FAIcon.vue"; import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; import { useLicenseStore } from "@/stores/LicenseStore"; +import InlineThroughputGraph from "./InlineThroughputGraph.vue"; enum NameFilterType { beginsWith = "Begins with", @@ -246,7 +247,10 @@ async function save() {