| FAILED |
comms-mailbox-presentation.spec.ts |
filters the mailbox from the folder rail, with counts and date sections |
9.9 s |
3 |
[2mexpect([22m[31mreceived[39m[2m).[22mtoEqual[2m([22m[32mexpected[39m[2m) // deep equality[22m [32m- Expected - 1[39m [31m+ Received + 3[39m [32m- Array [][39m [31m+ Array [[39m [31m+ "GET /api/payment-sheet/forwarded/count",[39m [31m+ ][39m |
| FAILED |
comms-mailbox-presentation.spec.ts |
keeps related email documents separate and renders the readable conversation |
13.4 s |
3 |
all browser API requests are fixture-backed [2mexpect([22m[31mreceived[39m[2m).[22mtoEqual[2m([22m[32mexpected[39m[2m) // deep equality[22m [32m- Expected - 1[39m [31m+ Received + 3[39m [32m- Array [][39m [31m+ Array [[39m [31m+ "GET /api/payment-sheet/forwar |
| FAILED |
comms-mailbox-presentation.spec.ts |
shows a non-empty disabled/error state when readiness is unavailable |
6.2 s |
3 |
[2mexpect([22m[31mreceived[39m[2m).[22mtoEqual[2m([22m[32mexpected[39m[2m) // deep equality[22m [32m- Expected - 1[39m [31m+ Received + 3[39m [32m- Array [][39m [31m+ Array [[39m [31m+ "GET /api/payment-sheet/forwarded/count",[39m [31m+ ][39m |
| FAILED |
comms-mailbox-presentation.spec.ts |
shows a non-empty settings state when no company context is available |
5.7 s |
3 |
[2mexpect([22m[31mreceived[39m[2m).[22mtoEqual[2m([22m[32mexpected[39m[2m) // deep equality[22m [32m- Expected - 1[39m [31m+ Received + 3[39m [32m- Array [][39m [31m+ Array [[39m [31m+ "GET /api/payment-sheet/forwarded/count",[39m [31m+ ][39m |
| FAILED |
lease-doc-upload.spec.ts |
owner uploads a lease document and it appears for the tenant |
14.3 s |
3 |
upload: 500 {"message":"The request could not be completed. Please try again.","reference":"dd59e177-1504-473d-b00f-7a7962eb3488"} [2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m Expected: [32mtrue[39m Received: [31 |
| SKIPPED |
listing-photos.spec.ts |
owner uploads photos to a listing and they appear via the API |
2.9 s |
1 |
skipped |
| SKIPPED |
recurring-bill-create.spec.ts |
owner creates a recurring bill |
216 ms |
1 |
skipped |
| SKIPPED |
staff-read-isolated.spec.ts |
invoice-only staff reads assigned dashboard and invoice without unrelated calls or write controls |
190 ms |
1 |
skipped |
| PASSED |
admin-companies-dates-mocked.spec.ts |
admin companies renders valid, missing and invalid dates at 1280px |
1.9 s |
1 |
|
| PASSED |
admin-companies-dates-mocked.spec.ts |
admin companies renders valid, missing and invalid dates at 390px |
1.8 s |
1 |
|
| PASSED |
agent-reports-presentation.spec.ts |
Landlord statements explain unavailable fee history without treating it as zero |
2.4 s |
1 |
|
| PASSED |
agent-reports-presentation.spec.ts |
Agent report opening, landlord payment corrections, PDF and mobile layout |
10.7 s |
1 |
|
| PASSED |
agent-reports-presentation.spec.ts |
Agent overview renders an unknown historical fee as unavailable |
2.4 s |
1 |
|
| PASSED |
auth-login.spec.ts |
logs in, lands authenticated, then logs out |
3.4 s |
1 |
|
| PASSED |
auth-login.spec.ts |
rejects bad credentials |
2.5 s |
1 |
|
| PASSED |
auth-registration-audience.spec.ts |
login prominently directs tenants to their landlord; tenant registration creates no account |
1.6 s |
1 |
|
| PASSED |
auth-registration-audience.spec.ts |
direct registration links require a choice and landlords/agents keep the existing registration flow |
2.2 s |
1 |
|
| PASSED |
auth-registration-submit.spec.ts |
the real registration form passes server validation, leaving only the captcha |
3.0 s |
1 |
|
| PASSED |
auth-tenant-login.spec.ts |
tenant logs in and reaches the tenant portal |
1.9 s |
1 |
|
| PASSED |
auth.setup.ts |
authenticate as owner |
2.4 s |
1 |
|
| PASSED |
auth.setup.ts |
authenticate as tenant |
2.0 s |
1 |
|
| PASSED |
currency-consistency.spec.ts |
currency symbol propagates across invoices and payments screens |
10.2 s |
1 |
|
| PASSED |
dashboard-stats.spec.ts |
dashboard reflects properties / tenants / collection / tickets |
6.9 s |
1 |
|
| PASSED |
dashboard-stats.spec.ts |
dashboard Register Payment opens the tenant picker on /payments |
2.6 s |
1 |
|
| PASSED |
dashboard-stats.spec.ts |
dashboard Record Utility opens the utility recorder |
2.2 s |
1 |
|
| PASSED |
dashboard-stats.spec.ts |
Record Utility shows configured properties and reveals unoccupied units |
11.1 s |
1 |
|
| PASSED |
data-portability-mocked.spec.ts |
owner imports with template, upload, review, confirm; apply and export errors surface |
3.9 s |
1 |
|
| PASSED |
data-portability-mocked.spec.ts |
manager does not see import or export |
1.4 s |
1 |
|
| PASSED |
dispatch-queue-pagination.spec.ts |
dispatch queue pages on the server and resets the page when filtered |
2.4 s |
1 |
|
| PASSED |
dispatch-queue-pagination.spec.ts |
dispatch queue shows a retryable error instead of an empty state |
1.8 s |
1 |
|
| PASSED |
header-search-mocked.spec.ts |
owner finds an existing tenant with bounded scoped list reads and opens the detail page |
2.1 s |
1 |
|
| PASSED |
header-search-mocked.spec.ts |
owner finds an existing property and sees a clear empty state |
2.2 s |
1 |
|
| PASSED |
invoice-create-mocked.spec.ts |
all invoice entry points share the searchable, property-scoped tenant form |
10.7 s |
1 |
|
| PASSED |
invoice-generate-manual.spec.ts |
owner generates a manual invoice for a tenant |
4.3 s |
1 |
|
| PASSED |
invoice-list-payment-mocked.spec.ts |
invoice list Record Payment targets the outstanding invoice and refreshes status only after payment |
4.1 s |
1 |
|
| PASSED |
invoice-pdf-attachment.spec.ts |
sending an invoice enqueues an outbound notification |
6.0 s |
1 |
|
| PASSED |
invoice-pdf-currency.spec.ts |
invoice detail and PDF use the org currency symbol |
5.4 s |
1 |
|
| PASSED |
invoice-pdf-generation.spec.ts |
owner downloads an invoice PDF |
6.2 s |
1 |
|
| PASSED |
invoice-pdf-multipage.spec.ts |
invoice PDF renders with many line items |
49.3 s |
1 |
|
| PASSED |
maintenance-staff-lifecycle.spec.ts |
owner moves a maintenance ticket through its lifecycle |
5.6 s |
1 |
|
| PASSED |
maintenance-tenant-creates.spec.ts |
maintenance ticket can be created and appears in the list |
3.9 s |
1 |
|
| PASSED |
messaging-owner-to-tenant.spec.ts |
owner reminder dispatch respects Kenya sending hours |
4.3 s |
1 |
|
| PASSED |
monthly-rent-generation.spec.ts |
monthly rent generation creates invoices for occupied units |
4.8 s |
1 |
|
| PASSED |
payment-fifo-multi-invoice.spec.ts |
FIFO payment of $250 allocates $100→inv1 and $150→inv2, leaves inv3 untouched |
9.2 s |
1 |
|
| PASSED |
payment-property-picker.spec.ts |
payment picker filters by property and remembers it after rapid entry |
14.7 s |
1 |
|
| PASSED |
payment-record-full.spec.ts |
owner records a full payment and the invoice is marked paid |
5.4 s |
1 |
|
| PASSED |
payment-search-mocked.spec.ts |
owner Billing Payments searches the endpoint before paging and resets to page one |
7.6 s |
1 |
|
| PASSED |
penalty-rent-invoice.spec.ts |
manual rent invoice keeps automatic penalty, payment and corrections on one invoice |
29.6 s |
1 |
|
| PASSED |
penalty-rent-invoice.spec.ts |
generated rent invoice keeps automatic penalty, payment and corrections on one invoice |
28.5 s |
1 |
|
| PASSED |
property-agent-fees.spec.ts |
Property fee baseline and append-only history remain separate from metadata |
6.1 s |
1 |
|
| PASSED |
property-create.spec.ts |
owner creates a property via the UI |
4.3 s |
1 |
|
| PASSED |
property-edit-delete.spec.ts |
owner edits then deletes a property |
4.1 s |
1 |
|
| PASSED |
recurring-bill-runs.spec.ts |
owner creates a recurring bill and it surfaces for the tenant |
4.7 s |
1 |
|
| PASSED |
reports-generation.spec.ts |
GET /api/reports/financial returns 200 + JSON body |
790 ms |
1 |
|
| PASSED |
reports-generation.spec.ts |
GET /api/reports/occupancy returns 200 + JSON body |
937 ms |
1 |
|
| PASSED |
reports-generation.spec.ts |
GET /api/reports/maintenance returns 200 + JSON body |
1.0 s |
1 |
|
| PASSED |
reports-generation.spec.ts |
reports page loads in the UI |
2.8 s |
1 |
|
| PASSED |
reports-generation.spec.ts |
payments reported drills into scoped rows, paginates, and handles filters and failures |
7.2 s |
1 |
|
| PASSED |
statement-download.spec.ts |
owner downloads a tenant statement PDF |
3.7 s |
1 |
|
| PASSED |
tenant-create-and-assign.spec.ts |
owner creates a tenant and assigns to a unit |
4.9 s |
1 |
|
| PASSED |
tenant-payment-ledger.spec.ts |
tenant payment is reflected in the ledger and balance |
4.5 s |
1 |
|
| PASSED |
tenant-vacate-and-reassign.spec.ts |
owner vacates and reassigns a tenant to a different unit |
5.2 s |
1 |
|
| PASSED |
tenants-list-page.spec.ts |
new tenant shows in /tenants list |
3.3 s |
1 |
|
| PASSED |
unit-create.spec.ts |
owner creates a unit under a property |
2.0 s |
1 |
|
| PASSED |
units-list-page.spec.ts |
new unit shows in /units list |
3.1 s |
1 |
|
| PASSED |
units-list-page.spec.ts |
property filter narrows /units list to selected property |
5.6 s |
1 |
|