test(ui): fix key and credential e2e specs after the overflow menu migrations - #34206
Merged
yuneng-berri merged 2 commits intoJul 22, 2026
Merged
Conversation
…grations Delete Key moved into the key info page's overflow dropdown (#34116) and the credentials table's row actions moved into a shared DataTable overflow menu, so both specs were clicking a button that no longer exists. Point them at the menu items instead. Add a CredentialsPanel unit test asserting the update payload drops the masked api key and keeps the edited api base, so that guard is not held up solely by an e2e a table migration can silently disarm.
…itellm_/e2e-test-regressions-69be3e
Contributor
Greptile SummaryThis PR updates dashboard tests after key and credential actions moved into overflow menus. The main changes are:
Confidence Score: 5/5This looks safe to merge.
|
| Filename | Overview |
|---|---|
| ui/litellm-dashboard/e2e_tests/tests/modelsPage/credentials.spec.ts | Updates the edit flow to use the credential-specific actions trigger and Edit menu item. |
| ui/litellm-dashboard/e2e_tests/tests/proxy-admin/keys.spec.ts | Updates key deletion to select Delete Key from the accessible overflow menu. |
| ui/litellm-dashboard/src/components/model_add/CredentialsPanel.test.tsx | Adds a focused test that excludes a masked API key while retaining an edited API base in the update payload. |
Reviews (1): Last reviewed commit: "Merge remote-tracking branch 'origin/lit..." | Re-trigger Greptile
shin-berri
approved these changes
Jul 22, 2026
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.
Relevant issues
Linear ticket
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
@greptileaito re-request a review after pushing changes)Delays in PR merge?
If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).
Screenshots / Proof of Fix
Both specs run against a live proxy (freshly built UI, real Postgres, seeded DB) at 105586d, via the suite's own runner:
CI=true DATABASE_URL="postgresql://<user>:<pass>@127.0.0.1:55432/litellm_e2e" \ ./e2e_tests/run_e2e.sh --reporter=list \ e2e_tests/tests/modelsPage/credentials.spec.ts e2e_tests/tests/proxy-admin/keys.spec.tsThe two specs this PR touches both pass. "Regenerate key" fails only because that run had no
LITELLM_LICENSE, so the proxy was not premium andregenerateDisabled={!premiumUser}kept the button disabled ("element is not enabled"). Unrelated to this PR, and re-running that one spec with a license confirms it:Unit side, the new guard is mutation-checked rather than just green. With
stripMaskedSecretsdropped from the update path inCredentialsPanel:and with it restored, all 10 tests in the file pass
Type
✅ Test
Changes
Two dashboard Playwright specs went red after recent UI work, and both were stale selectors rather than broken product behavior
proxy-admin/keys.spec.ts"Delete key" clicked a top-levelDelete Keybutton on the key info page. #34116 moved Reset Spend and Delete Key into an overflow dropdown next to Regenerate Key, soDelete Keyis now a menu item behind theMore key actionstrigger. The spec now opens that menu first. Everything downstream is unchanged: the confirm modal still requires typing the key alias and still reports "Key deleted successfully"modelsPage/credentials.spec.tsclicked the first button in the credential's row to open the edit modal. The credentials table has since moved onto the shared DataTable, where the row's only button is the⋯actions trigger and Edit is a menu item inside it, so the click opened a dropdown and the spec timed out waiting for the modal. It now goes through the actions menuThe behavior that second spec guards, the edit form never sending the backend's masked api key back on save, is still correct in the code;
stripMaskedSecretssurvived the table migration and is still applied inCredentialsPanel. That guard had no unit coverage though, so while the e2e was red nothing at all was pinning it. This PR adds aCredentialsPaneltest that drives an edit submit carrying a maskedapi_keyplus an editedapi_baseand asserts the outgoingcredential_valuescontains only the api base. Removing thestripMaskedSecretscall makes that test fail, so it is a real guard and not coverage paddingFinal Attestation