test(e2e): cover organization budget enforcement - #1070
Draft
saurya wants to merge 1 commit into
Draft
Conversation
Co-authored-by: openhands <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migration
Ports https://github.com/OpenHands/saas-deploy/pull/578 from
OpenHands/saas-deployso the test ships with the OpenHands-Cloud chart release it validates.This pull request is based directly on
main, which includes the foundational Playwright harness from OpenHands-Cloud #1048.Original scenario contract
Scenario
Adds one Playwright spec with one test that sets an already-exceeded near-zero organization limit through
/settings/budgets, submits a minimal conversation-start request, and requires a budget rejection before a conversation ID is created.No-spend proof
ERRORwith noapp_conversation_id.current_spendis exactly unchanged.Validation
npm cicompleted once in the isolated clonenpm run typecheck✅npx playwright test tests/org-budget-enforcement.spec.ts --list✅npm run lintConversationPage.ts,HomePage.ts, andsmoke.spec.ts; this new spec has no lint errorsEnvironment contract
e2e_tests/fixtures/auth.json: authenticated organization admin or ownercurrent_spend > 0.000001Missing or unsuitable fixtures raise explicit errors; the test never silently skips.
Cleanup
A
finallyblock restores the complete original budget snapshot. Any unexpectedly created conversation is deleted defensively.Risk
Medium: temporarily blocks conversation starts for the organization. Run only against a dedicated test organization. The test is intentionally designed not to incur LLM spend.
This pull request was created by an AI agent (OpenHands) on behalf of the user.
Port validation
e2e_tests/tests/org-budget-enforcement.spec.ts.tsc --noEmitpassed against the Cloud harness.--listdiscovery passed.TEST_*contracts documented above.AI disclosure: This pull request was migrated by an AI agent (OpenHands) on behalf of the user.