diff --git a/frontend/package.json b/frontend/package.json index f79713f..4476223 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,7 +4,7 @@ "version": "0.1.0", "type": "module", "scripts": { - "test": "node --test src/App.test.js src/views/PasswordReset/PasswordReset.test.js src/views/SetupWizard/SetupWizard.test.js src/views/SetupWizard/SetupWizardBootstrap.test.js src/views/SetupWizard/DatabaseSetup.test.js src/views/SetupWizard/SetupWizardLayout.test.js src/views/SetupWizard/BootstrapPayload.test.js src/views/Dashboard/Dashboard.test.js src/views/UserManagement/UserManagement.test.js src/views/components/HelpTip/HelpTip.test.js", + "test": "node --test src/App.test.js src/views/PasswordReset/PasswordReset.test.js src/views/SetupWizard/SetupWizard.test.js src/views/SetupWizard/SetupWizardBootstrap.test.js src/views/SetupWizard/DatabaseSetup.test.js src/views/SetupWizard/SetupWizardLayout.test.js src/views/SetupWizard/BootstrapPayload.test.js src/views/Dashboard/Dashboard.test.js src/views/Dashboard/SettingsModal.test.js src/views/UserManagement/UserManagement.test.js src/views/components/HelpTip/HelpTip.test.js", "dev": "vite", "build": "vite build", "preview": "vite preview" diff --git a/frontend/src/views/Dashboard/Dashboard.js b/frontend/src/views/Dashboard/Dashboard.js index eb45b34..8f62767 100644 --- a/frontend/src/views/Dashboard/Dashboard.js +++ b/frontend/src/views/Dashboard/Dashboard.js @@ -1183,6 +1183,7 @@ export function useDashboard() { dnsVerificationElapsedSeconds, dnsVerificationTimeoutSeconds, dnsReadyToSave, + dnsVerificationRequired, handleDNSProviderChange, clearDNSCredentials, testDNS, diff --git a/frontend/src/views/Dashboard/Dashboard.test.js b/frontend/src/views/Dashboard/Dashboard.test.js index 5b45e65..1bbc0a7 100644 --- a/frontend/src/views/Dashboard/Dashboard.test.js +++ b/frontend/src/views/Dashboard/Dashboard.test.js @@ -162,4 +162,17 @@ test("auditActionLabel", async (t) => { assert.equal(state.auditActionLabel(null), state.taskTypeLabel(null)); assert.equal(state.auditActionLabel(undefined), state.taskTypeLabel(undefined)); assert.equal(state.auditActionLabel(""), state.taskTypeLabel("")); -}); \ No newline at end of file +}); + +test("settings.savedDnsCredentialsRemainOptionalUntilChanged", async (t) => { + const { state } = await setup(t, () => verifiedResponse()); + assert.equal(state.dnsVerificationRequired.value, false); + state.settingsForm.value.acme.renewal_threshold_days = 91; + assert.equal(state.dnsVerificationRequired.value, false); + assert.equal(state.dnsReadyToSave.value, true); + await fill(state); + assert.equal(state.dnsVerificationRequired.value, true); + assert.equal(state.dnsReadyToSave.value, false); + await state.testDNS(); + assert.equal(state.dnsReadyToSave.value, true); +}); diff --git a/frontend/src/views/Dashboard/Dashboard.vue b/frontend/src/views/Dashboard/Dashboard.vue index b57da4f..9a8add0 100644 --- a/frontend/src/views/Dashboard/Dashboard.vue +++ b/frontend/src/views/Dashboard/Dashboard.vue @@ -1,8 +1,10 @@