diff --git a/test/javascripts/widgets/small-action-post-class-test.js b/test/javascripts/widgets/small-action-post-class-test.js
new file mode 100644
index 0000000..ad3247f
--- /dev/null
+++ b/test/javascripts/widgets/small-action-post-class-test.js
@@ -0,0 +1,47 @@
+import { setupRenderingTest } from "discourse/tests/helpers/component-test";
+import { discourseModule, exists } from "discourse/tests/helpers/qunit-helpers";
+import hbs from "htmlbars-inline-precompile";
+import { render } from "@ember/test-helpers";
+import { test } from "qunit";
+import { withPluginApi } from "discourse/lib/plugin-api";
+
+discourseModule(
+ "Discourse Assign | Integration | Widget | Small Action Post Class",
+ function (hooks) {
+ setupRenderingTest(hooks);
+
+ test("When assigns are not public add a private-assign class to the small post", async function (assert) {
+ this.siteSettings.assigns_public = false;
+
+ this.set("args", {
+ id: 10,
+ actionCode: "assigned",
+ });
+
+ withPluginApi("1.6.0", (api) => {
+ api.addPostSmallActionClassesCallback((post) => {
+ if (
+ post.actionCode.includes("assigned") &&
+ !this.siteSettings.assigns_public
+ ) {
+ return ["private-assign"];
+ }
+ });
+ });
+
+ await render(
+ hbs``
+ );
+
+ assert.ok(exists(".small-action.private-assign"));
+
+ this.siteSettings.assigns_public = true;
+
+ await render(
+ hbs``
+ );
+
+ assert.ok(!exists(".small-action.private-assign"));
+ });
+ }
+);