diff --git a/webapp/components/DeleteData/DeleteData.spec.js b/webapp/components/DeleteData/DeleteData.spec.js index 2bf6ab73c..8e4ffb0ac 100644 --- a/webapp/components/DeleteData/DeleteData.spec.js +++ b/webapp/components/DeleteData/DeleteData.spec.js @@ -68,12 +68,12 @@ describe('DeleteData.vue', () => { jest.clearAllMocks() }) - it('defaults to deleteContributions to false', () => { - expect(wrapper.vm.deleteContributions).toEqual(false) + it('defaults to deleteContributions to true', () => { + expect(wrapper.vm.deleteContributions).toEqual(true) }) - it('defaults to deleteComments to false', () => { - expect(wrapper.vm.deleteComments).toEqual(false) + it('defaults to deleteComments to true', () => { + expect(wrapper.vm.deleteComments).toEqual(true) }) it('defaults to deleteEnabled to false', () => { @@ -93,7 +93,31 @@ describe('DeleteData.vue', () => { deleteAccountBtn = wrapper.find('[data-test="delete-button"]') }) - it('if deleteEnabled is true and only deletes user by default', () => { + + it("deletes user's posts and comments if requested by default", () => { + mocks.$t.mockImplementation(() => deleteContributionsMessage) + enableContributionDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(0) + mocks.$t.mockImplementation(() => deleteCommentsMessage) + enableCommentDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(1) + deleteAccountBtn.trigger('click') + expect(mocks.$apollo.mutate).toHaveBeenCalledWith( + expect.objectContaining({ + variables: { + id: 'u343', + resource: ['Post', 'Comment'], + }, + }), + ) + }) + + + it('if deleteEnabled is true and only deletes user ', () => { + mocks.$t.mockImplementation(() => deleteContributionsMessage) + enableContributionDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(0) + enableContributionDeletionCheckbox.trigger('click') + mocks.$t.mockImplementation(() => deleteCommentsMessage) + enableCommentDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(1) + enableCommentDeletionCheckbox.trigger('click') deleteAccountBtn.trigger('click') expect(mocks.$apollo.mutate).toHaveBeenCalledWith( expect.objectContaining({ @@ -107,7 +131,7 @@ describe('DeleteData.vue', () => { it("deletes a user's posts if requested", () => { mocks.$t.mockImplementation(() => deleteContributionsMessage) - enableContributionDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(0) + enableContributionDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(1) enableContributionDeletionCheckbox.trigger('click') deleteAccountBtn.trigger('click') expect(mocks.$apollo.mutate).toHaveBeenCalledWith( @@ -122,7 +146,7 @@ describe('DeleteData.vue', () => { it("deletes a user's comments if requested", () => { mocks.$t.mockImplementation(() => deleteCommentsMessage) - enableCommentDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(1) + enableCommentDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(0) enableCommentDeletionCheckbox.trigger('click') deleteAccountBtn.trigger('click') expect(mocks.$apollo.mutate).toHaveBeenCalledWith( @@ -135,23 +159,7 @@ describe('DeleteData.vue', () => { ) }) - it("deletes a user's posts and comments if requested", () => { - mocks.$t.mockImplementation(() => deleteContributionsMessage) - enableContributionDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(0) - enableContributionDeletionCheckbox.trigger('click') - mocks.$t.mockImplementation(() => deleteCommentsMessage) - enableCommentDeletionCheckbox = wrapper.findAll('input[type="checkbox"]').at(1) - enableCommentDeletionCheckbox.trigger('click') - deleteAccountBtn.trigger('click') - expect(mocks.$apollo.mutate).toHaveBeenCalledWith( - expect.objectContaining({ - variables: { - id: 'u343', - resource: ['Post', 'Comment'], - }, - }), - ) - }) + it('shows a success toaster after successful mutation', async () => { await deleteAccountBtn.trigger('click') diff --git a/webapp/components/DeleteData/DeleteData.vue b/webapp/components/DeleteData/DeleteData.vue index 9a2e587cf..af12f407e 100644 --- a/webapp/components/DeleteData/DeleteData.vue +++ b/webapp/components/DeleteData/DeleteData.vue @@ -61,8 +61,8 @@ export default { name: 'DeleteData', data() { return { - deleteContributions: false, - deleteComments: false, + deleteContributions: true, + deleteComments: true, enableDeletionValue: null, currentUserCount: [], } diff --git a/webapp/graphql/User.js b/webapp/graphql/User.js index 3b015dacc..16325929b 100644 --- a/webapp/graphql/User.js +++ b/webapp/graphql/User.js @@ -265,9 +265,11 @@ export const checkSlugAvailableQuery = gql` export const currentUserQuery = gql` ${userFragment} + ${userCountsFragment} query { currentUser { ...user + ...userCounts email role about