diff --git a/frontend/__tests__/elements/test-activity-calendar.spec.ts b/frontend/__tests__/elements/test-activity-calendar.spec.ts index 00c877a30..048fca01e 100644 --- a/frontend/__tests__/elements/test-activity-calendar.spec.ts +++ b/frontend/__tests__/elements/test-activity-calendar.spec.ts @@ -814,6 +814,23 @@ describe("test-activity-calendar.ts", () => { expect(days[370]).toBeFiller(); }); }); + describe("getTotalTests", () => { + it("gets amount of tests", () => { + //GIVEN + const lastDate = getDate("2024-01-02"); + const calendar = new ModifiableTestActivityCalendar( + [1, 2, 3, 4], + lastDate + ); + + //THEN + expect(calendar.getTotalTests()).toEqual(1 + 2 + 3 + 4); + + //WHEN + const fullYear = calendar.getFullYearCalendar(); + expect(fullYear.getTotalTests()).toEqual(3 + 4); + }); + }); }); function getDate(date: string): Date { diff --git a/frontend/src/html/pages/account.html b/frontend/src/html/pages/account.html index 7e219d690..6e3f63aad 100644 --- a/frontend/src/html/pages/account.html +++ b/frontend/src/html/pages/account.html @@ -304,7 +304,7 @@
- +
less
diff --git a/frontend/src/styles/account.scss b/frontend/src/styles/account.scss index 48995850d..5abeffbe5 100644 --- a/frontend/src/styles/account.scss +++ b/frontend/src/styles/account.scss @@ -531,8 +531,8 @@ .title { grid-area: title; - text-align: center; - // font-size: 1.5em; + text-align: left; + font-size: var(--font-size); color: var(--sub-color); align-self: center; } diff --git a/frontend/src/ts/elements/test-activity-calendar.ts b/frontend/src/ts/elements/test-activity-calendar.ts index 9464355cd..558cfe4a8 100644 --- a/frontend/src/ts/elements/test-activity-calendar.ts +++ b/frontend/src/ts/elements/test-activity-calendar.ts @@ -145,6 +145,15 @@ export class TestActivityCalendar implements MonkeyTypes.TestActivityCalendar { return result; } + getTotalTests(): number { + const days = differenceInDays(this.endDay, this.startDay); + return ( + this.data.slice(0, days).reduce((a, c) => { + return (a ?? 0) + (c ?? 0); + }, 0) ?? 0 + ); + } + private getBuckets(): number[] { const filtered = this.data.filter( (it) => it !== null && it !== undefined diff --git a/frontend/src/ts/elements/test-activity.ts b/frontend/src/ts/elements/test-activity.ts index 760330514..398873c51 100644 --- a/frontend/src/ts/elements/test-activity.ts +++ b/frontend/src/ts/elements/test-activity.ts @@ -38,6 +38,12 @@ function update(calendar?: MonkeyTypes.TestActivityCalendar): void { updateMonths(calendar.getMonths()); $("#testActivity .nodata").addClass("hidden"); + const title = document.querySelector("#testActivity .title"); + { + if (title !== null) { + title.innerHTML = calendar.getTotalTests() + " tests"; + } + } for (const day of calendar.getDays()) { const elem = document.createElement("div"); diff --git a/frontend/src/ts/types/types.d.ts b/frontend/src/ts/types/types.d.ts index 8f06cab99..42487bd52 100644 --- a/frontend/src/ts/types/types.d.ts +++ b/frontend/src/ts/types/types.d.ts @@ -454,6 +454,7 @@ declare namespace MonkeyTypes { type TestActivityCalendar = { getMonths: () => TestActivityMonth[]; getDays: () => TestActivityDay[]; + getTotalTests: () => number; }; type ModifiableTestActivityCalendar = TestActivityCalendar & {