From 3cd9ba688e35bb0b212bb1ed10534138e0ee6346 Mon Sep 17 00:00:00 2001
From: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Date: Thu, 21 Aug 2025 12:13:56 -0600
Subject: [PATCH] refactor: Update KnowledgeBaseEmptyState component text and
structure (#9456)
* refactor: Update KnowledgeBaseEmptyState component text and structure
- Changed header text from "No knowledge bases" to "Welcome to Knowledge Base!" for improved user engagement.
- Updated description to clarify the action of creating a knowledge base.
- Renamed button text from "Create Knowledge" to "New Knowledge Base" for consistency and clarity.
- Reorganized imports for better readability.
* [autofix.ci] apply automated fixes
* grammar
* fix: Reintroduce useParams import and enhance KnowledgeBaseEmptyState description
- Added missing import for useParams from react-router-dom.
- Updated description text to specify "reusable knowledge bases" for clarity.
* [autofix.ci] apply automated fixes
* fix: Update KnowledgeBaseEmptyState button text for clarity
- Changed button text from "New Knowledge Base" to "New Knowledge Base template" to provide clearer context for users.
* feat: Add Array.prototype.toSorted polyfill and update tests for BundleItem and SidebarBundles components
- Implemented a polyfill for Array.prototype.toSorted to ensure compatibility in Jest environment.
- Updated tests for BundleItem to reflect that the component should render even when dataFilter has no items.
- Adjusted SidebarBundles tests to confirm correct rendering behavior with empty dataFilter and provided dataFilter scenarios.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
---
src/frontend/jest.setup.js | 12 +++++++
.../components/__tests__/bundleItems.test.tsx | 8 ++---
.../__tests__/sidebarBundles.test.tsx | 34 ++++---------------
.../components/KnowledgeBaseEmptyState.tsx | 7 ++--
4 files changed, 27 insertions(+), 34 deletions(-)
diff --git a/src/frontend/jest.setup.js b/src/frontend/jest.setup.js
index 88abf9bbc..6b1b1f4b3 100644
--- a/src/frontend/jest.setup.js
+++ b/src/frontend/jest.setup.js
@@ -36,3 +36,15 @@ global.localStorage = localStorageMock;
// Mock sessionStorage
global.sessionStorage = localStorageMock;
+
+// Polyfill Array.prototype.toSorted for Jest environment if not available
+if (!Array.prototype.toSorted) {
+ Object.defineProperty(Array.prototype, "toSorted", {
+ value: function (compareFn) {
+ const copy = this.slice();
+ return copy.sort(compareFn);
+ },
+ writable: true,
+ configurable: true,
+ });
+}
diff --git a/src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/bundleItems.test.tsx b/src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/bundleItems.test.tsx
index b0f7200a7..16157ee5a 100644
--- a/src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/bundleItems.test.tsx
+++ b/src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/bundleItems.test.tsx
@@ -130,7 +130,7 @@ describe("BundleItem", () => {
});
describe("Conditional Rendering", () => {
- it("should return null when dataFilter has no items for bundle", () => {
+ it("should still render container even if dataFilter has no items for bundle", () => {
const propsWithEmptyFilter = {
...defaultProps,
dataFilter: {
@@ -139,10 +139,10 @@ describe("BundleItem", () => {
};
const { container } = render(
- Create your first knowledge base to get started. + Create reusable knowledge bases that your agents can search and + reference.