From d40332a92c1da318c0e494161fd435cbbf5bb9ba Mon Sep 17 00:00:00 2001 From: Minh Truong Date: Sun, 25 Feb 2024 21:55:52 -0600 Subject: [PATCH 1/2] fix: add `type` prop to DatedUserAchievement model --- src/user/getAchievementsEarnedBetween.test.ts | 13 +++++++++---- src/user/getAchievementsEarnedBetween.ts | 3 ++- src/user/getAchievementsEarnedOnDay.test.ts | 13 +++++++++---- src/user/getAchievementsEarnedOnDay.ts | 3 ++- src/user/models/dated-user-achievement.model.ts | 1 + .../dated-user-achievements-response.model.ts | 1 + 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/user/getAchievementsEarnedBetween.test.ts b/src/user/getAchievementsEarnedBetween.test.ts index 16d391e..b8ccf75 100644 --- a/src/user/getAchievementsEarnedBetween.test.ts +++ b/src/user/getAchievementsEarnedBetween.test.ts @@ -4,7 +4,10 @@ import { setupServer } from "msw/node"; import { apiBaseUrl } from "../utils/internal"; import { buildAuthorization } from "../utils/public"; import { getAchievementsEarnedBetween } from "./getAchievementsEarnedBetween"; -import type { DatedUserAchievementsResponse } from "./models"; +import type { + DatedUserAchievement, + DatedUserAchievementsResponse +} from "./models"; const server = setupServer(); @@ -42,7 +45,8 @@ describe("Function: getAchievementsEarnedBetween", () => { ConsoleName: "PlayStation Portable", CumulScore: 40, BadgeURL: "/Badge/193797.png", - GameURL: "/game/3571" + GameURL: "/game/3571", + Type: "progression" } ]; @@ -76,8 +80,9 @@ describe("Function: getAchievementsEarnedBetween", () => { consoleName: "PlayStation Portable", cumulScore: 40, badgeUrl: "/Badge/193797.png", - gameUrl: "/game/3571" + gameUrl: "/game/3571", + type: "progression" } - ]); + ] as DatedUserAchievement[]); }); }); diff --git a/src/user/getAchievementsEarnedBetween.ts b/src/user/getAchievementsEarnedBetween.ts index 73db2d1..a166bf5 100644 --- a/src/user/getAchievementsEarnedBetween.ts +++ b/src/user/getAchievementsEarnedBetween.ts @@ -57,7 +57,8 @@ import type { * consoleName: 'PlayStation Portable', * cumulScore: 120, * badgeUrl: '/Badge/193756.png', - * gameUrl: '/game/3571' + * gameUrl: '/game/3571', + * type: 'progression' * } * ] * ``` diff --git a/src/user/getAchievementsEarnedOnDay.test.ts b/src/user/getAchievementsEarnedOnDay.test.ts index 9d72371..55ca9b6 100644 --- a/src/user/getAchievementsEarnedOnDay.test.ts +++ b/src/user/getAchievementsEarnedOnDay.test.ts @@ -4,7 +4,10 @@ import { setupServer } from "msw/node"; import { apiBaseUrl } from "../utils/internal"; import { buildAuthorization } from "../utils/public"; import { getAchievementsEarnedOnDay } from "./getAchievementsEarnedOnDay"; -import type { DatedUserAchievementsResponse } from "./models"; +import type { + DatedUserAchievement, + DatedUserAchievementsResponse +} from "./models"; const server = setupServer(); @@ -42,7 +45,8 @@ describe("Function: getAchievementsEarnedOnDay", () => { ConsoleName: "PlayStation Portable", CumulScore: 40, BadgeURL: "/Badge/193797.png", - GameURL: "/game/3571" + GameURL: "/game/3571", + Type: null } ]; @@ -75,8 +79,9 @@ describe("Function: getAchievementsEarnedOnDay", () => { consoleName: "PlayStation Portable", cumulScore: 40, badgeUrl: "/Badge/193797.png", - gameUrl: "/game/3571" + gameUrl: "/game/3571", + type: null } - ]); + ] as DatedUserAchievement[]); }); }); diff --git a/src/user/getAchievementsEarnedOnDay.ts b/src/user/getAchievementsEarnedOnDay.ts index af815bd..dbed6cd 100644 --- a/src/user/getAchievementsEarnedOnDay.ts +++ b/src/user/getAchievementsEarnedOnDay.ts @@ -56,7 +56,8 @@ import type { * consoleName: 'PlayStation Portable', * cumulScore: 120, * badgeUrl: '/Badge/193756.png', - * gameUrl: '/game/3571' + * gameUrl: '/game/3571', + * type: 'progression' * } * ] * ``` diff --git a/src/user/models/dated-user-achievement.model.ts b/src/user/models/dated-user-achievement.model.ts index 20800b2..07df1c3 100644 --- a/src/user/models/dated-user-achievement.model.ts +++ b/src/user/models/dated-user-achievement.model.ts @@ -14,4 +14,5 @@ export type DatedUserAchievement = { cumulScore: number; badgeUrl: string; gameUrl: string; + type: "progression" | "win_condition" | "missable" | null; }; diff --git a/src/user/models/dated-user-achievements-response.model.ts b/src/user/models/dated-user-achievements-response.model.ts index 44a95cb..f464155 100644 --- a/src/user/models/dated-user-achievements-response.model.ts +++ b/src/user/models/dated-user-achievements-response.model.ts @@ -14,6 +14,7 @@ interface DatedUserAchievementResponseEntity { CumulScore: number; BadgeURL: string; GameURL: string; + Type: "progression" | "win_condition" | "missable" | null; } export type DatedUserAchievementsResponse = From d88839173bdb1e27bcd86bc8705c4cff76863317 Mon Sep 17 00:00:00 2001 From: Minh Truong Date: Mon, 26 Feb 2024 18:42:59 -0600 Subject: [PATCH 2/2] fix: update unit tests to be more explicit on type usage --- src/user/getAchievementsEarnedBetween.test.ts | 8 +++++--- src/user/getAchievementsEarnedOnDay.test.ts | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/user/getAchievementsEarnedBetween.test.ts b/src/user/getAchievementsEarnedBetween.test.ts index b8ccf75..fc6279a 100644 --- a/src/user/getAchievementsEarnedBetween.test.ts +++ b/src/user/getAchievementsEarnedBetween.test.ts @@ -63,8 +63,7 @@ describe("Function: getAchievementsEarnedBetween", () => { toDate: new Date("2022-10-13") }); - // ASSERT - expect(response).toEqual([ + const expectedResponse: DatedUserAchievement[] = [ { date: "2022-10-12 07:36:31", hardcoreMode: true, @@ -83,6 +82,9 @@ describe("Function: getAchievementsEarnedBetween", () => { gameUrl: "/game/3571", type: "progression" } - ] as DatedUserAchievement[]); + ]; + + // ASSERT + expect(response).toEqual(expectedResponse); }); }); diff --git a/src/user/getAchievementsEarnedOnDay.test.ts b/src/user/getAchievementsEarnedOnDay.test.ts index 55ca9b6..c583400 100644 --- a/src/user/getAchievementsEarnedOnDay.test.ts +++ b/src/user/getAchievementsEarnedOnDay.test.ts @@ -62,8 +62,7 @@ describe("Function: getAchievementsEarnedOnDay", () => { onDate: new Date("2022-10-12") }); - // ASSERT - expect(response).toEqual([ + const expectedResponse: DatedUserAchievement[] = [ { date: "2022-10-12 07:36:31", hardcoreMode: true, @@ -82,6 +81,9 @@ describe("Function: getAchievementsEarnedOnDay", () => { gameUrl: "/game/3571", type: null } - ] as DatedUserAchievement[]); + ]; + + // ASSERT + expect(response).toEqual(expectedResponse); }); });