diff --git a/changes/issue-15050-pluralize-query-deletion-activity-log b/changes/issue-15050-pluralize-query-deletion-activity-log new file mode 100644 index 0000000000..87ddbfc7dd --- /dev/null +++ b/changes/issue-15050-pluralize-query-deletion-activity-log @@ -0,0 +1 @@ +- * Pluralize the activity log rendered when multiple queries were deleted diff --git a/frontend/interfaces/activity.ts b/frontend/interfaces/activity.ts index 8895198545..6057623bf4 100644 --- a/frontend/interfaces/activity.ts +++ b/frontend/interfaces/activity.ts @@ -12,6 +12,7 @@ export enum ActivityType { EditedPolicy = "edited_policy", CreatedSavedQuery = "created_saved_query", DeletedSavedQuery = "deleted_saved_query", + DeletedMultipleSavedQuery = "deleted_multiple_saved_query", EditedSavedQuery = "edited_saved_query", CreatedTeam = "created_team", DeletedTeam = "deleted_team", @@ -71,6 +72,7 @@ export interface IActivityDetails { query_id?: number; query_name?: string; query_sql?: string; + query_ids?: number[]; team_id?: number | null; team_name?: string | null; teams?: ITeamSummary[]; diff --git a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tests.tsx b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tests.tsx index e451e8aa2a..03e03c7590 100644 --- a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tests.tsx +++ b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tests.tsx @@ -882,4 +882,17 @@ describe("Activity Feed", () => { screen.getByText("for no team via fleetctl.", { exact: false }) ).toBeInTheDocument(); }); + it("renders a pluralized 'deleted_multiple_saved_query' type activity when deleting multiple queries.", () => { + const activity = createMockActivity({ + type: ActivityType.DeletedMultipleSavedQuery, + details: { + query_ids: [1, 2, 3], + }, + }); + render(); + + expect( + screen.getByText("deleted multiple queries", { exact: false }) + ).toBeInTheDocument(); + }); }); diff --git a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx index e01cd5af88..1582e5d291 100644 --- a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx +++ b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx @@ -584,6 +584,9 @@ const TAGGED_TEMPLATES = { ); }, + deletedMultipleSavedQuery: (activity: IActivity) => { + return <> deleted multiple queries.; + }, }; const getDetail = ( @@ -709,6 +712,9 @@ const getDetail = ( case ActivityType.EditedScript: { return TAGGED_TEMPLATES.editedScript(activity); } + case ActivityType.DeletedMultipleSavedQuery: { + return TAGGED_TEMPLATES.deletedMultipleSavedQuery(activity); + } default: { return TAGGED_TEMPLATES.defaultActivityTemplate(activity); }