This document outlines the core features of the InboxQL workbench and provides step-by-step instructions for manual verification.
To run the full suite of automated tests for both the backend and frontend, use the provided Makefile:
make testThis will:
- Execute all Go tests in the project (
go test ./...). - Run the frontend test suite using Vitest in non-interactive mode.
Feature: Secure access to the application and protected API endpoints.
- Steps to Test (Login):
- Open
http://localhost:5173. - Verify the Login screen appears with the "InboxQL" logo.
- Enter Username:
admin@inboxql.localand Password:password123. - Click Sign In.
- Verify successful entry into the workbench.
- Open
- Steps to Test (Logout):
- Click the user profile in the top-right corner.
- Select Logout.
- Verify redirection back to the Login screen.
- Steps to Test (API Protection):
- While logged out, attempt to visit
http://localhost:5173/api/accounts. - Verify the response is "unauthorized" (or status 401).
- While logged out, attempt to visit
Feature: Customized workbench UI.
- Steps to Test:
- Verify the top-left title is "InboxQL".
- Verify the left sidebar and activity bar are hidden.
- Verify the menu order: Tools -> View -> Help.
Feature: Launching unique tool tabs via menu and shortcuts.
- Steps to Test:
- Open Tools -> Analytics Dashboard.
- Open Tools -> Mail Client.
- Verify both tabs are open.
- Click Tools -> Analytics Dashboard again.
- Verify the existing "Dashboard" tab is focused instead of opening a new one.
- Shortcuts:
Ctrl+Shift+D(Dashboard)Ctrl+Shift+M(Mail)Ctrl+Shift+F(Search)Ctrl+,(Settings)
Feature: CRUD operations for email connections.
- Steps to Test (Add):
- Open Settings -> Mail Accounts.
- Click + Add Account.
- Fill in details and click Save Account.
- Verify the account appears in the list.
- Steps to Test (Edit):
- Click the Gear icon on an account card.
- Change the name and click Update Account.
- Verify the change persists.
- Steps to Test (Connectivity):
- In the account form, click Test Connection.
- Verify the loading pulse and the success/failure message.
Feature: Real IMAP syncing and live data reporting.
- Steps to Test:
- Click the Refresh (Sync) icon on an account card.
- Observe the status bar "Sync" status change to "Syncing" (simulated duration).
- Verify Messages count and Storage size update on the card.
- Verify the Unread Count in the status bar updates.
Feature: Standard email browsing experience.
- Steps to Test:
- Open the Mail Client.
- Verify the list view shows Sender, Subject, and Date.
- Click a message to open the Detail View.
- Click the Back button to return to the list.
Feature: Customizing the user experience.
- Steps to Test:
- Open Settings -> User Profile.
- Update "Display Name" and "Profile Image URL".
- Verify the top-right header widget updates.
- Open Settings -> Appearance.
- Switch between Light, Dark, and Georgia Tech themes.
Feature: Active filters are visible in the dashboard and can be cleared.
- Steps to Test:
- Open Tools -> Analytics Dashboard.
- Click on a Top Sender or Topic Trend to apply a filter.
- Verify the Active Filters bar appears below the "Analytics Pulse" header, displaying the selected filter.
- Click the X on the specific filter tag to clear it.
- Verify the filter is cleared and the dashboard data resets.
- Apply another filter, then click the Clear All button in the filter bar.
- Verify all filters are cleared and the filter bar disappears.
Feature: Users can visually build and save Eino AI Agents.
- Steps to Test:
- Open Tools -> AI Agents.
- Click Create New Agent.
- Verify the React Flow canvas opens with default nodes (Input, Chat Model, Output).
- Change the agent name to
Test Eino Agentin the header. - Drag a connection (edge) between nodes to verify interactivity.
- Click Save Agent and confirm the success dialog.
- Click the back arrow to return to the list.
- Verify the
Test Eino Agentappears in the saved agents list.