ddbb6abc3a
test(admin): implement integration and unit tests for admin behaviors
...
Implement comprehensive test coverage for admin dashboard behaviors:
- Dashboard access control (2.1, 2.2)
- Client filtering by name, code, group (4.1-4.5)
- Client sorting and pagination (5.1-5.3)
- Client wizard validation (6.12, 6.17, 6.18, 6.20)
- Account filtering, sorting, and dialog validation (9.1-11.9)
- Vendor filtering and wizard validation (13.1-14.12)
- Vendor merge validation (15.2, 15.3)
- Transaction rule filtering, wizard, execution, and deletion (17.1-20.3)
Also fixes vendor terms override duplicate validation in vendors.clj.
2026-05-06 23:00:25 -07:00
1a48abdd7c
test(invoice): implement integration tests for invoice behaviors
...
Adds comprehensive integration tests covering:
- Invoice list filtering (vendor, account, date range, due date, amount, import status, scheduled payments, unresolved, location)
- Invoice list sorting (date, invoice number, due date, total, outstanding balance, vendor, client, location)
- Invoice list pagination (default 25, custom per-page)
- Selection behaviors (select all filtered)
- Permission gates (GraphQL layer behavior)
- Lock date behaviors (edit, void, unvoid, undo autopay, bulk operations)
- Single/Bulk void with payment exclusions
- Bulk edit with lock date exclusions
- Credit payment (net zero, multiple vendors blocked, positive balance blocked)
- Import validation (missing fields, unmatchable vendors, no client access)
- Import approve/disapprove
- Legacy route redirects
Updates docs/testing/behaviors/invoice.md with 76 completed behavior markers.
57 tests, 99 assertions, all passing.
2026-05-05 05:00:51 -07:00
ececdc8f5f
test(invoice): add integration tests for invoice behaviors
...
- Fix schema ordering: move :journal-entry-line/running-balance to schema.edn
- Add invoice_behaviors_test.clj covering:
- Permission gates (26.5, 26.6, 26.8)
- Lock date blocking (27.1, 27.3)
- New invoice validation (8.1, 8.5)
- Edit invoice (11.1, 11.3)
- Bulk edit (15.4)
- Single/bulk void (16.3, 16.4, 17.1)
- Unvoid restoring from history (18.1)
- Undo autopay (19.1)
- Invoice list filtering (2.6, 2.8, 2.10, 2.14)
- Invoice list sorting (3.5, 3.7, 3.10)
- Invoice list pagination (4.1, 4.3)
- Legacy route redirects (28.1)
- Mock Solr in wrap-setup fixture to prevent Connection refused
- Fix setup-test-data to merge user-provided entities with defaults
- Fix InMemSolrClient.index_documents to handle entity IDs
- Fix ezcater_xls test to use dynamic entity IDs
- Update invoice.md behavior checklist with completed items
2026-05-04 23:10:46 -07:00
da7897c0d6
test(invoice): implement unit tests for invoice behaviors
...
Add comprehensive unit tests for pure invoice business logic:
- assert-invoice-amounts-add-up (behaviors 9.4, 11.4)
- does-amount-exceed-outstanding? (behavior 13.4)
- assert-percentages-add-up (behavior 15.3)
- stack-rank and deduplicate (behaviors 24.1, 24.4, 24.5)
- clientize-vendor (behavior 8.4)
- location-select* (behavior 9.3)
- maybe-code-accounts with Shared location spreading (behavior 15.6)
- can-undo-autopayment (behaviors 19.2-19.4)
- due date / scheduled payment calculations (behaviors 8.2, 8.3)
- can-handwrite? and credit-only? (pay wizard behaviors)
- due date display logic (behavior 1.7)
Also fixes:
- user.clj: add missing datomic.api alias (d) used in sample functions
- new_invoice_wizard_test.clj: fix sut8 -> sut9 typo
Marks completed unit-test behaviors with [x] in invoice.md
2026-05-04 21:29:40 -07:00
d627e3c5d0
refactor(all): rewrite all behavior docs in table format with checkboxes
...
Rewrite all 11 remaining behavior documents to match the streamlined
invoice.md format:
- dashboard.md: 250 lines, 62 behaviors
- payment.md: 260 lines, behaviors for list, void, check printing, ACH
- transaction.md: 310 lines, list, import, admin insights
- ledger.md: 519 lines, entries, P&L, balance sheet, cash flows
- company.md: 320 lines, profile, 1099s, Plaid/Yodlee, reports
- admin.md: 494 lines, clients, accounts, vendors, rules, jobs, history
- pos.md: 405 lines, sales, deposits, tenders, refunds, shifts
- search-indicators.md: 167 lines, search modal, indicators
- auth.md: 184 lines, login, logout, impersonation, sessions
- outgoing-invoice.md: 192 lines, create, line items, PDF
- legacy-spa.md: 340 lines, all legacy pages (docs only)
All documents now use:
- Testing Patterns section with reusable abstractions
- Numbered tables: # | Behavior | Test Strategy | Status
- It should... behavior descriptions
- Checkboxes [ ]/[x] for tracking implementation
- Cross-Cutting Behaviors for permissions, lock dates, etc.
- Test Data Requirements tables
- Existing Tests to Preserve sections
Total: 3,844 lines of behavior documentation across 12 subsystem docs.
2026-05-04 13:48:51 -07:00
e14a23ff54
refactor(invoice): rewrite in table format with test strategies and checkboxes
...
- Add testing patterns section (Grid Page, Wizard, Permission Gates)
- Convert all behaviors to numbered tables with checkboxes
- Specify test strategy per behavior (Unit/Integration/UI)
- Group by feature area: Display, Filter, Sort, Pay Wizard, etc.
- Add cross-cutting Permissions and Lock Date tables
- Reduce from 496 to 403 lines while being more comprehensive
2026-05-04 13:31:02 -07:00
b499d460f3
docs: add comprehensive test behavior documentation for all pages
...
Add behavior documentation covering all SSR and legacy SPA pages:
- Testing strategy and type definitions (unit/integration/UI)
- Dashboard, Invoice, Payment, Transaction, Ledger pages
- Company/Settings, POS, Admin, Search, Auth pages
- Legacy SPA behavior docs (no UI tests until migrated)
- Edge cases, test data requirements, and dependencies per subsystem
Total: 3,600+ lines of behavior documentation to guide test authorship.
2026-05-04 12:15:20 -07:00
2993da5c82
add project configuration files (.env, .envrc, opencode.json, package-lock)
2026-05-01 11:34:48 -07:00
db9018722d
Merge pull request 'feat: add gitea-tea skill and update AGENTS.md for PR workflow' ( #4 ) from alluring-houseboat into master
...
Reviewed-on: #4
2026-04-25 20:05:38 -07:00
0e57550b3c
stuff
2026-04-25 19:41:40 -07:00
297464c188
Merge branch 'master' of codecommit://integreat
2026-03-30 22:38:34 -07:00
6e3a024f66
adds stuff for dough burger
2026-03-30 22:36:12 -07:00
Bryce
28a755e9a9
fixes invoice date filtering
2026-03-02 23:20:14 -08:00
Bryce
01347ff3f5
fixes balance sheet
2026-03-02 22:53:53 -08:00
53625e4583
Makes invoices use the closed_at date.
2026-02-21 22:53:05 -08:00
8899c643ed
Complete code review session - documented findings for auto_ap.permissions, iol-ion.query, and auto_ap.ss.admin.background-jobs
2026-02-08 09:31:26 -08:00
c196723913
ok.
2026-02-08 08:43:53 -08:00
395e445c99
Add test for Bonanza Produce invoice 03882095
...
Validates existing template correctly parses multi-page invoice with:
- Invoice number 03882095
- Customer identifier NICK THE GREEK
- Account number 600 VISTA WAY
- Total of $946.24
2026-02-08 08:40:40 -08:00
8a0395dc4a
Add Bonanza Produce multi-invoice statement template
...
- Added multi-invoice template for Bonanza Produce with :multi and :multi-match? flags
- Template uses keywords for statement header to identify multi-invoice format
- Extracts invoice-number, date, customer-identifier (from RETURN line), and total
- Parses 4 invoices from statement PDF 13595522.pdf
- All tests pass (29 assertions, 0 failures, 0 errors)
- Added test: parse-bonanza-produce-statement-13595522
- Updated invoice-template-creator skill: emphasized test-first approach
2026-02-08 07:56:14 -08:00
26dbde5bd3
Add invoice-template-creator skill for automated template generation
...
New repository-based skill at .claude/skills/invoice-template-creator/:
- SKILL.md: Complete guide for creating invoice parsing templates
- references/examples.md: Common patterns and template examples
- Covers vendor identification, regex patterns, field extraction
- Includes testing strategies and common pitfalls
Updated AGENTS.md with reference to the new skill.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-02-08 07:55:55 -08:00
98a3e0dda6
Extract customer name and address for Bonanza Produce
...
- customer-identifier field: customer name (e.g., 'NICK THE GREEK')
- account-number field: street address (e.g., '600 VISTA WAY')
- Combined they provide full customer identification with address
- Updated test to verify both fields and their concatenation
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-02-08 07:55:26 -08:00
f4366fe98e
Add location extraction for Bonanza Produce invoices
...
- Extract city/state/zip in location field
- Customer address now split across 3 fields:
- customer-identifier: customer name
- account-number: street address
- location: city, state zip
- All components verified in test
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-02-08 07:55:12 -08:00
d95e24a1d7
Improve Bonanza Produce customer identifier extraction
...
- Extract customer name in customer-identifier field
- Extract street address in account-number field
- Use non-greedy regex with lookahead to capture clean values
- Update test to verify both name and address extraction
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-02-08 07:50:55 -08:00
37351e5f92
Add Bonanza Produce invoice template
...
- Add new PDF template for Bonanza Produce vendor
- Template uses phone number 530-544-4136 as unique identifier
- Extracts invoice number, date, customer identifier, and total
- Includes passing test for invoice 03881260
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-02-08 07:50:42 -08:00
dc021b8ce0
trying simple fix for ledger changes.
2026-01-25 21:40:22 -08:00
7fae3717f7
expense account fix
2026-01-16 16:24:43 -08:00
a2e31d6966
1099 expens account
2026-01-16 15:50:36 -08:00
795189ddd3
csv for worldwide produce
2026-01-07 11:32:49 -08:00
4ef2190570
template for sushi.
2026-01-07 11:26:20 -08:00
b1273835d5
2025 1099s
2026-01-07 10:45:35 -08:00
68444d6311
allows importing only the invoices that were successful.
2026-01-05 21:34:24 -08:00
8511d30715
pnl changes
2026-01-03 22:44:58 -08:00
269fa45923
improvements
2025-12-04 11:18:36 -08:00
af7f9355e8
Fixes issues
2025-11-19 23:53:30 -08:00
ff8e7b3063
fixes reel produce
2025-11-05 21:34:17 -08:00
bd8cb34a0f
Adds pedantic flag
2025-11-05 20:57:54 -08:00
a462c56595
fixes bugs, makes checks printable for different dates.
2025-10-07 21:52:46 -07:00
c528795b1e
fixed the only first four issue.
2025-10-07 21:08:19 -07:00
45012e85cc
fixes bugs.
2025-09-23 22:53:29 -07:00
4c2369c16c
pecific ids and filters are exclusive.
2025-09-17 19:02:09 -07:00
3647934be6
temporarily loading 30 days of data
2025-09-16 09:15:19 -07:00
b646544ebc
Improvements to templates
2025-09-11 23:00:42 -07:00
96934b12fd
Sample ledger show
2025-05-23 17:25:18 -07:00
495d290a46
look for any order that's updated in the time range.
2025-04-10 21:46:35 -07:00
01329bbdf5
Disallows chatgpt for emailed invoices.
2025-03-25 21:26:40 -07:00
581033001b
Adds the ability to filter down to unbalanced
2025-03-11 21:07:51 -07:00
3d65816d9c
fixes PWL
2025-03-01 21:18:07 -08:00
70d03904f7
fi x
2025-02-25 23:45:51 -08:00
d90f44c6c8
fi x
2025-02-25 23:41:25 -08:00
cf8b5cd2fa
square fixes
2025-02-25 23:30:18 -08:00