From 69f79a99f3cdeeea437a43583cfa7a33f4a00b55 Mon Sep 17 00:00:00 2001
From: gillespi314 <73313222+gillespi314@users.noreply.github.com>
Date: Mon, 15 May 2023 11:10:43 -0500
Subject: [PATCH] Add UI activity templates for enable/disable end user
authentication (#11634)
---
frontend/interfaces/activity.ts | 2 +
.../ActivityItem/ActivityItem.tests.tsx | 64 +++++++++++++++++++
.../ActivityItem/ActivityItem.tsx | 42 ++++++++++++
3 files changed, 108 insertions(+)
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);
}