diff --git a/packages/frontend/editor-ui/src/features/credentials/components/CredentialEdit/CredentialEdit.vue b/packages/frontend/editor-ui/src/features/credentials/components/CredentialEdit/CredentialEdit.vue index 13bc9772020..75f695fa097 100644 --- a/packages/frontend/editor-ui/src/features/credentials/components/CredentialEdit/CredentialEdit.vue +++ b/packages/frontend/editor-ui/src/features/credentials/components/CredentialEdit/CredentialEdit.vue @@ -1433,7 +1433,7 @@ const { width } = useElementSize(credNameRef); :class="$style.saveButton" :disabled="!hasUnsavedChanges && !isTesting && !!credentialId" :is-saving="isSaving || isTesting" - :saved="false" + :saved="!hasUnsavedChanges && !isTesting && !!credentialId" :saving-label=" isTesting ? i18n.baseText('credentialEdit.credentialEdit.testing') diff --git a/packages/testing/playwright/pages/components/CredentialModal.ts b/packages/testing/playwright/pages/components/CredentialModal.ts index 029b2dc4aca..8f19fba7d13 100644 --- a/packages/testing/playwright/pages/components/CredentialModal.ts +++ b/packages/testing/playwright/pages/components/CredentialModal.ts @@ -91,15 +91,12 @@ export class CredentialModal extends BaseModal { /** * Wait for save to fully complete. - * After saving (and optional credential testing), the button becomes - * disabled (no unsaved changes) and is no longer loading + * After saving (and optional credential testing), the button shows "Saved" label. */ async waitForSaveComplete(): Promise { - const btn = this.getSaveButton().locator('button'); - await expect(async () => { - await expect(btn).toBeDisabled(); - await expect(btn).not.toHaveAttribute('aria-busy', 'true'); - }).toPass({ timeout: 10000 }); + await expect(this.getSaveButton().getByText('Saved', { exact: true })).toBeVisible({ + timeout: 10000, + }); } async save(): Promise {