diff --git a/src/components/AdminSettings.vue b/src/components/AdminSettings.vue index d41abd7e2..428a8bce5 100644 --- a/src/components/AdminSettings.vue +++ b/src/components/AdminSettings.vue @@ -163,6 +163,15 @@ +
+ + + {{ t('integration_openproject', 'Create Nextcloud OAuth values') }} + +
{ openproject_client_id: 'abcd', openproject_client_secret: 'abcdefgh', nc_oauth_client: null, + fresh_project_folder_setup: true, }, { server: F_MODES.VIEW, @@ -745,6 +746,30 @@ describe('AdminSettings.vue', () => { }) }) }) + describe('recreate button', () => { + it('should be displayed if nextcloud oauth credentials is empty and everything is set', async () => { + const wrapper = getMountedWrapper({ + state: { + openproject_instance_url: 'http://openproject.com', + openproject_client_id: 'op-client-id', + openproject_client_secret: 'op-client-secret', + nc_oauth_client: null, + }, + formMode: { + projectFolderSetUp: F_MODES.VIEW, + }, + showDefaultManagedProjectFolders: true, + isFormCompleted: { + projectFolderSetUp: true, + }, + + }) + const resetButton = wrapper.find(selectors.resetNcOAuthFormButton) + expect(resetButton.isVisible()).toBe(true) + expect(resetButton.text()).toBe('Create Nextcloud OAuth values') + wrapper.destroy() + }) + }) describe('edit mode', () => { it('should show the form and hide the field values', async () => { const wrapper = getWrapper({ diff --git a/tests/jest/components/__snapshots__/AdminSettings.spec.js.snap b/tests/jest/components/__snapshots__/AdminSettings.spec.js.snap index 71d7003ba..d34dde95b 100644 --- a/tests/jest/components/__snapshots__/AdminSettings.spec.js.snap +++ b/tests/jest/components/__snapshots__/AdminSettings.spec.js.snap @@ -12,6 +12,7 @@ exports[`AdminSettings.vue Nextcloud OAuth values form edit mode should show the
+ `; @@ -27,6 +28,7 @@ exports[`AdminSettings.vue Nextcloud OAuth values form view mode with complete v + `;