diff --git a/frontend/interfaces/activity.ts b/frontend/interfaces/activity.ts index 506c812113..ad17881a7f 100644 --- a/frontend/interfaces/activity.ts +++ b/frontend/interfaces/activity.ts @@ -43,6 +43,8 @@ export enum ActivityType { DeletedBootstrapPackage = "deleted_bootstrap_package", ChangedMacOSSetupAssistant = "changed_macos_setup_assistant", DeletedMacOSSetupAssistant = "deleted_macos_setup_assistant", + EnabledMacOSSetupEndUserAuth = "enabled_macos_setup_end_user_auth", + DisabledMacOSSetupEndUserAuth = "disabled_macos_setup_end_user_auth", } export interface IActivity { created_at: string; diff --git a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tests.tsx b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tests.tsx index c22d76eddf..a4333f86b5 100644 --- a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tests.tsx +++ b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tests.tsx @@ -570,4 +570,68 @@ describe("Activity Feed", () => { ) ).toBeInTheDocument(); }); + + it("renders a 'enabled_macos_setup_end_user_auth' type activity for a team", () => { + const activity = createMockActivity({ + type: ActivityType.EnabledMacOSSetupEndUserAuth, + details: { team_name: "Alphas" }, + }); + render(); + + expect( + screen.getByText( + "required end user authentication for macOS hosts that automatically enroll to", + { exact: false } + ) + ).toBeInTheDocument(); + expect(screen.getByText("Alphas")).toBeInTheDocument(); + const withNoTeams = screen.queryByText("no team"); + expect(withNoTeams).toBeNull(); + }); + + it("renders a 'enabled_macos_setup_end_user_auth' type activity for hosts with no team.", () => { + const activity = createMockActivity({ + type: ActivityType.EnabledMacOSSetupEndUserAuth, + }); + render(); + + expect( + screen.getByText( + "required end user authentication for macOS hosts that automatically enroll to no team.", + { exact: false } + ) + ).toBeInTheDocument(); + }); + + it("renders a 'disabled_macos_setup_end_user_auth' type activity for a team", () => { + const activity = createMockActivity({ + type: ActivityType.DisabledMacOSSetupEndUserAuth, + details: { team_name: "Alphas" }, + }); + render(); + + expect( + screen.getByText( + "removed end user authentication requirement for macOS hosts that automatically enroll to", + { exact: false } + ) + ).toBeInTheDocument(); + expect(screen.getByText("Alphas")).toBeInTheDocument(); + const withNoTeams = screen.queryByText("no team"); + expect(withNoTeams).toBeNull(); + }); + + it("renders a 'disabled_macos_setup_end_user_auth' type activity for hosts with no team.", () => { + const activity = createMockActivity({ + type: ActivityType.DisabledMacOSSetupEndUserAuth, + }); + render(); + + expect( + screen.getByText( + "removed end user authentication requirement for macOS hosts that automatically enroll to no team.", + { exact: false } + ) + ).toBeInTheDocument(); + }); }); diff --git a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx index 38f57ed8b7..35c47ffe57 100644 --- a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx +++ b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx @@ -22,6 +22,8 @@ const PREMIUM_ACTIVITIES = new Set([ "read_host_disk_encryption_key", "enabled_macos_disk_encryption", "disabled_macos_disk_encryption", + "enabled_macos_setup_end_user_auth", + "disabled_macos_setup_end_user_auth", ]); const getProfileMessageSuffix = ( @@ -407,6 +409,40 @@ const TAGGED_TEMPLATES = { ); }, + enabledMacOSSetupEndUserAuth: (activity: IActivity) => { + return ( + <> + {" "} + required end user authentication for macOS hosts that automatically + enroll to{" "} + {activity.details?.team_name ? ( + <> + the {activity.details.team_name} team + + ) : ( + "no team" + )} + . + + ); + }, + disabledMacOSSetupEndUserAuth: (activity: IActivity) => { + return ( + <> + {" "} + removed end user authentication requirement for macOS hosts that + automatically enroll to{" "} + {activity.details?.team_name ? ( + <> + the {activity.details.team_name} team + + ) : ( + "no team" + )} + . + + ); + }, }; const getDetail = ( @@ -502,6 +538,12 @@ const getDetail = ( case ActivityType.DeletedMacOSSetupAssistant: { return TAGGED_TEMPLATES.deletedMacOSSetupAssistant(activity); } + case ActivityType.EnabledMacOSSetupEndUserAuth: { + return TAGGED_TEMPLATES.enabledMacOSSetupEndUserAuth(activity); + } + case ActivityType.DisabledMacOSSetupEndUserAuth: { + return TAGGED_TEMPLATES.disabledMacOSSetupEndUserAuth(activity); + } default: { return TAGGED_TEMPLATES.defaultActivityTemplate(activity); }