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
+
`;