From c4959bb85190478e0136a8eb89badf2efb28e911 Mon Sep 17 00:00:00 2001 From: Alina Beck Date: Thu, 19 Dec 2019 01:02:15 +0530 Subject: [PATCH] use computed property to enable/disable delete button --- .../components/DeleteData/DeleteData.spec.js | 6 +++--- webapp/components/DeleteData/DeleteData.vue | 20 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/webapp/components/DeleteData/DeleteData.spec.js b/webapp/components/DeleteData/DeleteData.spec.js index abcdf9101..484fd5492 100644 --- a/webapp/components/DeleteData/DeleteData.spec.js +++ b/webapp/components/DeleteData/DeleteData.spec.js @@ -81,7 +81,7 @@ describe('DeleteData.vue', () => { }) it('does not call the delete user mutation if deleteEnabled is false', () => { - deleteAccountBtn = wrapper.find('.ds-button-danger') + deleteAccountBtn = wrapper.find('[data-test="delete-button"]') deleteAccountBtn.trigger('click') expect(mocks.$apollo.mutate).not.toHaveBeenCalled() }) @@ -90,7 +90,7 @@ describe('DeleteData.vue', () => { beforeEach(() => { enableDeletionInput = wrapper.find('.enable-deletion-input input') enableDeletionInput.setValue(deleteAccountName) - deleteAccountBtn = wrapper.find('.ds-button-danger') + deleteAccountBtn = wrapper.find('[data-test="delete-button"]') }) it('if deleteEnabled is true and only deletes user by default', () => { @@ -168,7 +168,7 @@ describe('DeleteData.vue', () => { it('shows an error toaster when the mutation rejects', async () => { enableDeletionInput = wrapper.find('.enable-deletion-input input') enableDeletionInput.setValue(deleteAccountName) - deleteAccountBtn = wrapper.find('.ds-button-danger') + deleteAccountBtn = wrapper.find('[data-test="delete-button"]') await deleteAccountBtn.trigger('click') // second submission causes mutation to reject await deleteAccountBtn.trigger('click') diff --git a/webapp/components/DeleteData/DeleteData.vue b/webapp/components/DeleteData/DeleteData.vue index 045d00f26..9686f442f 100644 --- a/webapp/components/DeleteData/DeleteData.vue +++ b/webapp/components/DeleteData/DeleteData.vue @@ -57,14 +57,19 @@ - + {{ $t('settings.deleteUserAccount.name') }} - + @@ -82,7 +87,6 @@ export default { return { deleteContributions: false, deleteComments: false, - deleteEnabled: false, enableDeletionValue: null, } }, @@ -90,16 +94,14 @@ export default { ...mapGetters({ currentUser: 'auth/user', }), + deleteEnabled() { + return this.enableDeletionValue === this.currentUser.name + }, }, methods: { ...mapActions({ logout: 'auth/logout', }), - enableDeletion() { - if (this.enableDeletionValue === this.currentUser.name) { - this.deleteEnabled = true - } - }, handleSubmit() { const resourceArgs = [] if (this.deleteContributions) {