Migrate TED dashboard chart to summary API
continuous-integration/drone/push Build is passing

This commit is contained in:
AmirReza Jamali
2026-07-04 12:51:28 +03:30
parent 6b6dd7d2d1
commit fc0d45e909
6 changed files with 38 additions and 16 deletions
+15 -8
View File
@@ -27,7 +27,9 @@ const stubDashboardRequests = () => {
const now = Math.floor(Date.now() / 1000);
cy.intercept("GET", "**/api/proxy/dashboard/summary**", (req) => {
expect(req.query.closing_window).to.be.undefined;
const days = Number(req.query.days);
expect(req.query.closing_window).to.eq("168");
req.alias = days === 30 ? "summary30Days" : "summary14Days";
req.reply({
statusCode: 200,
body: apiResponse({
@@ -39,10 +41,15 @@ const stubDashboardRequests = () => {
closing_soon: 12,
total_estimated_value: 2500000,
value_currency: "EUR",
days,
scraped_ted: [
{ date: "2026-06-08", count: days === 30 ? 12 : 5 },
{ date: "2026-06-09", count: days === 30 ? 18 : 8 },
],
generated_at: now,
}),
});
}).as("dashboardSummary");
});
cy.intercept("GET", "**/api/proxy/dashboard/trend**", (req) => {
expect(req.query).to.include({ days: "14", metric: "created" });
@@ -139,10 +146,6 @@ const stubDashboardRequests = () => {
days,
generated_at: now,
daily: {
scraped_ted: [
{ date: "2026-06-08", count: days === 30 ? 12 : 5 },
{ date: "2026-06-09", count: days === 30 ? 18 : 8 },
],
scraped_documents: [
{ date: "2026-06-08", count: days === 30 ? 40 : 20 },
{ date: "2026-06-09", count: days === 30 ? 60 : 30 },
@@ -155,6 +158,7 @@ const stubDashboardRequests = () => {
totals: {
scraped_documents: days === 30 ? 9876 : 4321,
translated_tenders: days === 30 ? 654 : 321,
scraped_ted_notices: days === 30 ? 2468 : 1234,
},
}),
});
@@ -171,7 +175,7 @@ describe("tender dashboard", () => {
visitDashboard();
cy.wait([
"@dashboardSummary",
"@summary14Days",
"@dashboardTrend",
"@dashboardCountries",
"@dashboardNoticeTypes",
@@ -213,10 +217,13 @@ describe("tender dashboard", () => {
it("reloads scraping and translation statistics for a selected range", () => {
visitDashboard();
cy.wait("@statistics14Days");
cy.wait(["@summary14Days", "@statistics14Days"]);
cy.contains("button", "14d").should("have.class", "bg-primary");
cy.contains("button", "30d").click();
cy.wait("@summary30Days")
.its("request.query.days")
.should("eq", "30");
cy.wait("@statistics30Days")
.its("request.query.days")
.should("eq", "30");