Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion backend/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ requests==2.31.0
pyyaml==6.0.1
websockets==12.0
sse-starlette==1.8.2
aiohttp==3.9.1
aiohttp==3.9.1
psutil
41 changes: 41 additions & 0 deletions expected_user_behavior.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Expected User Behavior: Core Research Workflow

This document outlines the expected behavior for a primary user workflow in the DataKiln application: performing a basic research query. This can be used as a manual test plan to identify non-functional parts of the system.

---

### Prerequisites

1. **Action:** The user opens a new browser tab and manually logs into `gemini.google.com`.
* **Expected Result:** The user is successfully logged into their Google account on the Gemini website. This ensures the browser automation has an authenticated session to work with.

### Workflow Steps

1. **Action:** The user navigates to the DataKiln frontend URL (e.g., `http://localhost:3000`).
* **Expected Result:** The application loads, and the main Dashboard page is displayed without errors.

2. **Action:** On the Dashboard, the user clicks the "New Research" button.
* **Expected Result:** The UI transitions to a view where the user can configure a new research query.

3. **Action:** The user selects a research mode. For this test, they click on "Balanced".
* **Expected Result:** The "Balanced" mode is visually selected or highlighted, indicating it's the active choice.

4. **Action:** The user types a simple query, such as `"What is the Playwright framework?"`, into the main input field.
* **Expected Result:** The text is correctly entered and visible in the input field.

5. **Action:** The user clicks the "Start Research" button.
* **Expected Result:**
* The UI provides immediate feedback that the task has started (e.g., a loading indicator appears, the "Start" button is disabled).
* A new entry appears in a "Jobs" or "Runs" panel, showing the status as "In Progress" or "Running".

6. **Action:** The user waits for the research task to complete.
* **Expected Result:**
* The backend should trigger a Playwright instance to perform the research on Gemini's website.
* The UI should display real-time progress updates (e.g., in a log panel or through a progress bar).
* After a few minutes, the status of the job in the UI should change to "Complete" or "Success".

7. **Action:** The user clicks on the completed job to view the results.
* **Expected Result:** The UI displays the formatted research report, including a summary, sources, and the main body of text.

8. **Action:** The user checks the designated output directory.
* **Expected Result:** A new Markdown file (`.md`) containing the research report has been saved to the local filesystem (e.g., in a default `output` folder or a configured Obsidian vault path). The file's content should match the results shown in the UI.
4 changes: 2 additions & 2 deletions frontend/e2e/comprehensive-e2e-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ class E2ETestSuite {

for (const item of navItems) {
try {
// Look for sidebar navigation links
const selector = `a[href="${item.path}"]`;
// Look for sidebar navigation links, accounting for HashRouter
const selector = `a[href="#${item.path}"]`;
await this.page.waitForSelector(selector, { timeout: 5000 });
console.log(`Navigation item '${item.label}' found`);
} catch (error) {
Expand Down
36 changes: 18 additions & 18 deletions frontend/e2e/e2e-test-report.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
{
"timestamp": "2025-09-23T04:45:05.317Z",
"timestamp": "2025-09-23T06:21:54.364Z",
"results": {
"passed": 9,
"failed": 0,
"errors": [],
"screenshots": [
"screenshot-application-launch-2025-09-23T04-44-27-703Z.png",
"screenshot-navigation-2025-09-23T04-44-57-786Z.png",
"screenshot-dashboard-2025-09-23T04-45-02-852Z.png",
"screenshot-deep-research-dialog-2025-09-23T04-45-02-922Z.png",
"screenshot-youtube-transcript-2025-09-23T04-45-04-991Z.png",
"screenshot-workflow-management-2025-09-23T04-45-05-058Z.png",
"screenshot-results-browser-2025-09-23T04-45-05-133Z.png",
"screenshot-selector-lab-2025-09-23T04-45-05-201Z.png"
"screenshot-application-launch-2025-09-23T06-21-45-566Z.png",
"screenshot-navigation-2025-09-23T06-21-45-773Z.png",
"screenshot-dashboard-2025-09-23T06-21-50-947Z.png",
"screenshot-deep-research-dialog-2025-09-23T06-21-51-148Z.png",
"screenshot-youtube-transcript-2025-09-23T06-21-53-409Z.png",
"screenshot-workflow-management-2025-09-23T06-21-53-595Z.png",
"screenshot-results-browser-2025-09-23T06-21-53-878Z.png",
"screenshot-selector-lab-2025-09-23T06-21-54-085Z.png"
],
"timings": {
"Application Launch": 1079,
"Navigation": 30059,
"Dashboard Functionality": 5077,
"Deep Research Feature": 58,
"YouTube Transcript Analysis": 2071,
"Workflow Management": 63,
"Results Browser": 83,
"Selector Lab": 54,
"API Integration": 16
"Application Launch": 2654,
"Navigation": 182,
"Dashboard Functionality": 5202,
"Deep Research Feature": 232,
"YouTube Transcript Analysis": 2193,
"Workflow Management": 229,
"Results Browser": 252,
"Selector Lab": 209,
"API Integration": 46
}
},
"environment": {
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion frontend/tsconfig.tsbuildinfo

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ setup_backend() {

# Install Playwright browsers
echo "Installing Playwright browsers..."
playwright install --with-deps chromium
playwright install chromium

# Go back to root directory
cd ..
Expand Down