From 2d2144b8b4deb8e3a9bb4943a76725c62920c001 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 2 Feb 2022 18:07:34 +0100 Subject: [PATCH 01/37] add remove text buttun on search input field --- admin/src/pages/UserSearch.vue | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index 4b9bcae8a..16a3b4130 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -15,6 +15,25 @@ @input="getUsers" > +
+ + + + + + + + + + + + +
+ Date: Wed, 2 Feb 2022 18:09:10 +0100 Subject: [PATCH 02/37] yarn lint --- admin/src/pages/UserSearch.vue | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index 16a3b4130..6cc87e754 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -15,24 +15,22 @@ @input="getUsers" > -
- - - +
+ + - - - - - - - - -
+ + + + + +
+
Date: Wed, 2 Feb 2022 18:10:01 +0100 Subject: [PATCH 03/37] remove old search input --- admin/src/pages/UserSearch.vue | 8 -------- 1 file changed, 8 deletions(-) diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index 6cc87e754..2fc1a71cd 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -7,14 +7,6 @@ - -
Date: Wed, 2 Feb 2022 18:14:52 +0100 Subject: [PATCH 04/37] add remove button on input search user for creation.vue --- admin/src/pages/Creation.vue | 16 ++++++++++++---- admin/src/pages/UserSearch.vue | 6 ++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/admin/src/pages/Creation.vue b/admin/src/pages/Creation.vue index 11b098ba4..59bcd6c14 100644 --- a/admin/src/pages/Creation.vue +++ b/admin/src/pages/Creation.vue @@ -3,12 +3,20 @@ - + + :placeholder="$t('user_search')" + @input="getUsers" + > + + + + + + + - + @@ -119,6 +118,9 @@ export default { currentPage() { this.getUsers() }, + criteria() { + this.getUsers() + }, }, created() { this.getUsers() From 80df8713265c68d35994a9c82d2ae01676c1c9a1 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 2 Feb 2022 18:16:08 +0100 Subject: [PATCH 05/37] yarn lint --- admin/src/pages/Creation.vue | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/admin/src/pages/Creation.vue b/admin/src/pages/Creation.vue index 59bcd6c14..1674ab6ff 100644 --- a/admin/src/pages/Creation.vue +++ b/admin/src/pages/Creation.vue @@ -4,19 +4,19 @@ - + - - - - - - + + + + + + Date: Wed, 2 Feb 2022 19:08:24 +0100 Subject: [PATCH 06/37] test value from criteria, user search --- admin/src/pages/UserSearch.spec.js | 26 ++++++++++++++++++++++++++ admin/src/pages/UserSearch.vue | 3 ++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/admin/src/pages/UserSearch.spec.js b/admin/src/pages/UserSearch.spec.js index 4beda0c49..1d2b0b69c 100644 --- a/admin/src/pages/UserSearch.spec.js +++ b/admin/src/pages/UserSearch.spec.js @@ -80,5 +80,31 @@ describe('UserSearch', () => { expect(toastErrorMock).toBeCalledWith('Ouch') }) }) + + describe('set value in input search form input', () => { + beforeEach( async () => { + await wrapper.find('.test-input-criteria').setValue('some value') + }) + + it('sets rangeMax to 200', () => { + // await wrapper.find('#test-click-criteria').trigger('click') + expect(wrapper.find('.test-input-criteria').element.value).toBe('some value') + }) + + describe('set value in input search form input', () => { + beforeEach(() => { + wrapper.find('.test-click-clear-criteria').trigger('click') + }) + it('sets rangeMax to 200', () => { + + expect(wrapper.find('.test-input-criteria').element.value).toBe('') + }) + }) + + }) + + }) + + }) diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index 0d7493d5d..b8d12a48b 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -11,11 +11,12 @@ - + From 8ae0d70153e005428334197855f7ff99b9a16e02 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 2 Feb 2022 19:08:37 +0100 Subject: [PATCH 07/37] yarn lint --- admin/src/pages/UserSearch.spec.js | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/admin/src/pages/UserSearch.spec.js b/admin/src/pages/UserSearch.spec.js index 1d2b0b69c..101a055bc 100644 --- a/admin/src/pages/UserSearch.spec.js +++ b/admin/src/pages/UserSearch.spec.js @@ -81,30 +81,24 @@ describe('UserSearch', () => { }) }) - describe('set value in input search form input', () => { - beforeEach( async () => { + describe('set value in test-input-criteria', () => { + beforeEach(async () => { await wrapper.find('.test-input-criteria').setValue('some value') }) - - it('sets rangeMax to 200', () => { + + it('check value is setting', () => { // await wrapper.find('#test-click-criteria').trigger('click') expect(wrapper.find('.test-input-criteria').element.value).toBe('some value') }) - describe('set value in input search form input', () => { + describe('click test-click-clear-criteria and clear value', () => { beforeEach(() => { wrapper.find('.test-click-clear-criteria').trigger('click') }) - it('sets rangeMax to 200', () => { - - expect(wrapper.find('.test-input-criteria').element.value).toBe('') + it('is value remove', () => { + expect(wrapper.find('.test-input-criteria').element.value).toBe('') + }) }) }) - - }) - - }) - - }) From 049d8d2d1c6e5cfeb680e8a6fe7876e0666ac5de Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 2 Feb 2022 21:57:04 +0100 Subject: [PATCH 08/37] add tests for search --- admin/src/pages/Creation.spec.js | 21 +++++++++++++++++++++ admin/src/pages/Creation.vue | 4 ++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/admin/src/pages/Creation.spec.js b/admin/src/pages/Creation.spec.js index 01a884f54..973b95805 100644 --- a/admin/src/pages/Creation.spec.js +++ b/admin/src/pages/Creation.spec.js @@ -258,5 +258,26 @@ describe('Creation', () => { expect(toastErrorMock).toBeCalledWith('Ouch') }) }) + + + describe('set value in test-input-criteria', () => { + beforeEach(async () => { + wrapper = Wrapper() + await wrapper.find('.test-input-criteria').setValue('some value') + }) + + it('check value is setting', () => { + expect(wrapper.find('.test-input-criteria').element.value).toBe('some value') + }) + + describe('click test-click-clear-criteria and clear value', () => { + beforeEach(() => { + wrapper.find('.test-click-clear-criteria').trigger('click') + }) + it('is value remove', () => { + expect(wrapper.find('.test-input-criteria').element.value).toBe('') + }) + }) }) }) +}) diff --git a/admin/src/pages/Creation.vue b/admin/src/pages/Creation.vue index 1674ab6ff..abd2341da 100644 --- a/admin/src/pages/Creation.vue +++ b/admin/src/pages/Creation.vue @@ -6,12 +6,12 @@ - + From 7215b12a9cf3b9e1b5b21f3612bf2cf85c85912e Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 2 Feb 2022 21:57:44 +0100 Subject: [PATCH 09/37] add tests for search step --- admin/src/pages/Creation.spec.js | 33 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/admin/src/pages/Creation.spec.js b/admin/src/pages/Creation.spec.js index 973b95805..23d857d11 100644 --- a/admin/src/pages/Creation.spec.js +++ b/admin/src/pages/Creation.spec.js @@ -258,26 +258,25 @@ describe('Creation', () => { expect(toastErrorMock).toBeCalledWith('Ouch') }) }) - - describe('set value in test-input-criteria', () => { - beforeEach(async () => { - wrapper = Wrapper() - await wrapper.find('.test-input-criteria').setValue('some value') - }) - - it('check value is setting', () => { - expect(wrapper.find('.test-input-criteria').element.value).toBe('some value') - }) - - describe('click test-click-clear-criteria and clear value', () => { - beforeEach(() => { - wrapper.find('.test-click-clear-criteria').trigger('click') + describe('set value in test-input-criteria', () => { + beforeEach(async () => { + wrapper = Wrapper() + await wrapper.find('.test-input-criteria').setValue('some value') }) - it('is value remove', () => { - expect(wrapper.find('.test-input-criteria').element.value).toBe('') + + it('check value is setting', () => { + expect(wrapper.find('.test-input-criteria').element.value).toBe('some value') + }) + + describe('click test-click-clear-criteria and clear value', () => { + beforeEach(() => { + wrapper.find('.test-click-clear-criteria').trigger('click') + }) + it('is value remove', () => { + expect(wrapper.find('.test-input-criteria').element.value).toBe('') + }) }) }) }) }) -}) From 0c72471e90ef6ab14b890a9ade1bacb9f4d331c2 Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 3 Feb 2022 08:31:08 +0100 Subject: [PATCH 10/37] tests criteria, test search user in mass creation --- admin/src/pages/Creation.spec.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/admin/src/pages/Creation.spec.js b/admin/src/pages/Creation.spec.js index bbc4f6f2d..56c5c0864 100644 --- a/admin/src/pages/Creation.spec.js +++ b/admin/src/pages/Creation.spec.js @@ -1,4 +1,4 @@ -import { shallowMount } from '@vue/test-utils' +import { shallowMount, mount } from '@vue/test-utils' import Creation from './Creation.vue' const localVue = global.localVue @@ -304,10 +304,26 @@ describe('Creation', () => { expect(toastErrorMock).toBeCalledWith('Ouch') }) }) + + }) +}) + +describe('Mount Creation', () => { + let wrapper + + const Wrapper = () => { + return mount(Creation, { localVue, mocks }) + } + + describe('mount', () => { + beforeEach(() => { + wrapper = Wrapper() + }) + + describe('set value in test-input-criteria', () => { beforeEach(async () => { - wrapper = Wrapper() await wrapper.find('.test-input-criteria').setValue('some value') }) From e4841308020ea8513b6b61b2dcc8d89250095814 Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 3 Feb 2022 09:34:30 +0100 Subject: [PATCH 11/37] yarn lint --- admin/src/pages/Creation.spec.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/admin/src/pages/Creation.spec.js b/admin/src/pages/Creation.spec.js index 56c5c0864..2d295b758 100644 --- a/admin/src/pages/Creation.spec.js +++ b/admin/src/pages/Creation.spec.js @@ -304,7 +304,6 @@ describe('Creation', () => { expect(toastErrorMock).toBeCalledWith('Ouch') }) }) - }) }) @@ -320,8 +319,6 @@ describe('Mount Creation', () => { wrapper = Wrapper() }) - - describe('set value in test-input-criteria', () => { beforeEach(async () => { await wrapper.find('.test-input-criteria').setValue('some value') From 6c0dde49958ee5207c36704aa969aca209b43c58 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Thu, 3 Feb 2022 18:55:44 +0100 Subject: [PATCH 12/37] fix tests --- admin/src/pages/Creation.spec.js | 78 +++++++++++++----------------- admin/src/pages/UserSearch.spec.js | 37 +++++++------- 2 files changed, 50 insertions(+), 65 deletions(-) diff --git a/admin/src/pages/Creation.spec.js b/admin/src/pages/Creation.spec.js index a6eae7c73..9ba282ef8 100644 --- a/admin/src/pages/Creation.spec.js +++ b/admin/src/pages/Creation.spec.js @@ -282,23 +282,44 @@ describe('Creation', () => { ) }) }) - + describe('watchers', () => { beforeEach(() => { jest.clearAllMocks() }) - it('calls API when criteria changes', async () => { - await wrapper.setData({ criteria: 'XX' }) - expect(apolloQueryMock).toBeCalledWith( - expect.objectContaining({ - variables: { - searchText: 'XX', - currentPage: 1, - pageSize: 25, - }, - }), - ) + describe('search criteria', () => { + beforeEach(async () => { + await wrapper.setData({ criteria: 'XX' }) + }) + + it('calls API when criteria changes', async () => { + expect(apolloQueryMock).toBeCalledWith( + expect.objectContaining({ + variables: { + searchText: 'XX', + currentPage: 1, + pageSize: 25, + }, + }), + ) + }) + + describe('reset search criteria', () => { + it('calls the API', async () => { + jest.clearAllMocks() + await wrapper.find('.test-click-clear-criteria').trigger('click') + expect(apolloQueryMock).toBeCalledWith( + expect.objectContaining({ + variables: { + searchText: '', + currentPage: 1, + pageSize: 25, + }, + }), + ) + }) + }) }) it('calls API when currentPage changes', async () => { @@ -329,36 +350,3 @@ describe('Creation', () => { }) }) }) - -describe('Mount Creation', () => { - let wrapper - - const Wrapper = () => { - return mount(Creation, { localVue, mocks }) - } - - describe('mount', () => { - beforeEach(() => { - wrapper = Wrapper() - }) - - describe('set value in test-input-criteria', () => { - beforeEach(async () => { - await wrapper.find('.test-input-criteria').setValue('some value') - }) - - it('check value is setting', () => { - expect(wrapper.find('.test-input-criteria').element.value).toBe('some value') - }) - - describe('click test-click-clear-criteria and clear value', () => { - beforeEach(() => { - wrapper.find('.test-click-clear-criteria').trigger('click') - }) - it('is value remove', () => { - expect(wrapper.find('.test-input-criteria').element.value).toBe('') - }) - }) - }) - }) -}) diff --git a/admin/src/pages/UserSearch.spec.js b/admin/src/pages/UserSearch.spec.js index 1b39431f9..a999e05e8 100644 --- a/admin/src/pages/UserSearch.spec.js +++ b/admin/src/pages/UserSearch.spec.js @@ -118,6 +118,23 @@ describe('UserSearch', () => { }), ) }) + + describe('reset the search field', () => { + it('is value remove', async () => { + jest.clearAllMocks() + await wrapper.find('.test-click-clear-criteria').trigger('click') + expect(apolloQueryMock).toBeCalledWith( + expect.objectContaining({ + variables: { + searchText: '', + currentPage: 1, + pageSize: 25, + notActivated: false, + }, + }), + ) + }) + }) }) describe('apollo returns error', () => { @@ -132,25 +149,5 @@ describe('UserSearch', () => { expect(toastErrorMock).toBeCalledWith('Ouch') }) }) - - describe('set value in test-input-criteria', () => { - beforeEach(async () => { - await wrapper.find('.test-input-criteria').setValue('some value') - }) - - it('check value is setting', () => { - // await wrapper.find('#test-click-criteria').trigger('click') - expect(wrapper.find('.test-input-criteria').element.value).toBe('some value') - }) - - describe('click test-click-clear-criteria and clear value', () => { - beforeEach(() => { - wrapper.find('.test-click-clear-criteria').trigger('click') - }) - it('is value remove', () => { - expect(wrapper.find('.test-input-criteria').element.value).toBe('') - }) - }) - }) }) }) From 7834d5583638179e6fa51945685281a98c273a48 Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 4 Feb 2022 08:59:55 +0100 Subject: [PATCH 13/37] add class .pointer on app.vue for all sites --- admin/src/App.vue | 8 ++++++++ admin/src/pages/Creation.vue | 2 +- admin/src/pages/UserSearch.vue | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/admin/src/App.vue b/admin/src/App.vue index 40460eda4..bcaab2ef9 100644 --- a/admin/src/App.vue +++ b/admin/src/App.vue @@ -13,3 +13,11 @@ export default { components: { defaultLayout }, } + diff --git a/admin/src/pages/Creation.vue b/admin/src/pages/Creation.vue index 8fe34c026..9b26b63b6 100644 --- a/admin/src/pages/Creation.vue +++ b/admin/src/pages/Creation.vue @@ -12,7 +12,7 @@ > - + diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index 446ffa338..28e1a7774 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -16,7 +16,7 @@ :placeholder="$t('user_search')" > - + From 36e016cc62b4878cab695b95393a8eadca0e37d7 Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 4 Feb 2022 09:11:31 +0100 Subject: [PATCH 14/37] change test text --- admin/src/pages/UserSearch.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/src/pages/UserSearch.spec.js b/admin/src/pages/UserSearch.spec.js index a999e05e8..dc4b9dede 100644 --- a/admin/src/pages/UserSearch.spec.js +++ b/admin/src/pages/UserSearch.spec.js @@ -120,7 +120,7 @@ describe('UserSearch', () => { }) describe('reset the search field', () => { - it('is value remove', async () => { + it('calls the API with empty criteria', async () => { jest.clearAllMocks() await wrapper.find('.test-click-clear-criteria').trigger('click') expect(apolloQueryMock).toBeCalledWith( From 70d8b586b629bc5d27363557469b37c4a8e8b6d3 Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 4 Feb 2022 10:29:17 +0100 Subject: [PATCH 15/37] add rmove button for all selected user in mass creation, remove overlay request by remove from only selected user for mass creation --- admin/src/components/UserTable.vue | 12 +----------- admin/src/pages/Creation.vue | 23 +++++++++++++++-------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/admin/src/components/UserTable.vue b/admin/src/components/UserTable.vue index 0fa72f573..e518ac6d1 100644 --- a/admin/src/components/UserTable.vue +++ b/admin/src/components/UserTable.vue @@ -133,7 +133,7 @@ variant="danger" v-show="type === 'UserListMassCreation' || type === 'PageCreationConfirm'" size="md" - @click="overlayShow('remove', row.item)" + @click="bookmarkRemove(row.item)" class="mr-2" > @@ -242,13 +242,6 @@ export default { this.overlayBookmarkType = bookmarkType this.overlayItem = item - if (bookmarkType === 'remove') { - this.overlayText.header = this.$t('overlay.remove.title') - this.overlayText.text1 = this.$t('overlay.remove.text') - this.overlayText.text2 = this.$t('overlay.remove.question') - this.overlayText.button_ok = this.$t('overlay.remove.yes') - this.overlayText.button_cancel = this.$t('overlay.remove.no') - } if (bookmarkType === 'confirm') { this.overlayText.header = this.$t('overlay.confirm.title') this.overlayText.text1 = this.$t('overlay.confirm.text') @@ -258,9 +251,6 @@ export default { } }, overlayOK(bookmarkType, item) { - if (bookmarkType === 'remove') { - this.bookmarkRemove(item) - } if (bookmarkType === 'confirm') { this.$emit('confirm-creation', item) } diff --git a/admin/src/pages/Creation.vue b/admin/src/pages/Creation.vue index 6da762a15..9f1c4ef5d 100644 --- a/admin/src/pages/Creation.vue +++ b/admin/src/pages/Creation.vue @@ -25,14 +25,21 @@ > - +
+
+ + + alle Nutzer entfernen + +
+ +
{{ $t('multiple_creation_text') }}
From ffc96c91308fc523fc3b168c2d8ce652605f2ba2 Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 4 Feb 2022 11:25:21 +0100 Subject: [PATCH 16/37] remove overlay from tests creation.spec.js --- admin/src/pages/Creation.spec.js | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/admin/src/pages/Creation.spec.js b/admin/src/pages/Creation.spec.js index e06e43607..6dbc10901 100644 --- a/admin/src/pages/Creation.spec.js +++ b/admin/src/pages/Creation.spec.js @@ -174,25 +174,14 @@ describe('Creation', () => { .trigger('click') }) - it('opens a dialog', () => { - expect(wrapper.findAll('#overlay').at(1).isVisible()).toBeTruthy() - }) - describe('cancel remove item', () => { - beforeEach(async () => { - await wrapper.findAll('#overlay').at(1).findAll('button').at(0).trigger('click') - }) - - it('closes the dialog', () => { - expect(wrapper.findAll('#overlay').at(1).isVisible()).toBeFalsy() - }) it('has one item in left table', () => { - expect(wrapper.findAll('table').at(0).findAll('tbody > tr')).toHaveLength(1) + expect(wrapper.findAll('table').at(0).findAll('tbody > tr')).toHaveLength(2) }) it('has one item in right table', () => { - expect(wrapper.findAll('table').at(1).findAll('tbody > tr')).toHaveLength(1) + expect(wrapper.findAll('table').at(1).findAll('tbody > tr')).toHaveLength(0) }) }) From df8ce64680713de007e6fbd9770e78a19745b377 Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 4 Feb 2022 11:30:28 +0100 Subject: [PATCH 17/37] add lokalize button text --- admin/src/locales/de.json | 1 + admin/src/locales/en.json | 1 + admin/src/pages/Creation.vue | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/admin/src/locales/de.json b/admin/src/locales/de.json index 7585ee122..05e82bdd9 100644 --- a/admin/src/locales/de.json +++ b/admin/src/locales/de.json @@ -54,6 +54,7 @@ } }, "remove": "Entfernen", + "remove_all":"alle Nutzer entfernen", "transaction": "Transaktion", "transactionlist": { "amount": "Betrag", diff --git a/admin/src/locales/en.json b/admin/src/locales/en.json index 2680a1c00..4c25ca149 100644 --- a/admin/src/locales/en.json +++ b/admin/src/locales/en.json @@ -54,6 +54,7 @@ } }, "remove": "Remove", + "remove_all":"Remove all users", "transaction": "Transaction", "transactionlist": { "amount": "Amount", diff --git a/admin/src/pages/Creation.vue b/admin/src/pages/Creation.vue index 9f1c4ef5d..28ef8d344 100644 --- a/admin/src/pages/Creation.vue +++ b/admin/src/pages/Creation.vue @@ -29,7 +29,8 @@
- alle Nutzer entfernen + + {{ $t('remove_all') }}
Date: Fri, 4 Feb 2022 11:31:17 +0100 Subject: [PATCH 18/37] yarn lint, yarn locales --- admin/src/locales/de.json | 2 +- admin/src/locales/en.json | 2 +- admin/src/pages/Creation.spec.js | 1 - admin/src/pages/Creation.vue | 4 ++-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/admin/src/locales/de.json b/admin/src/locales/de.json index 05e82bdd9..327cfd302 100644 --- a/admin/src/locales/de.json +++ b/admin/src/locales/de.json @@ -54,7 +54,7 @@ } }, "remove": "Entfernen", - "remove_all":"alle Nutzer entfernen", + "remove_all": "alle Nutzer entfernen", "transaction": "Transaktion", "transactionlist": { "amount": "Betrag", diff --git a/admin/src/locales/en.json b/admin/src/locales/en.json index 4c25ca149..3f12f10a8 100644 --- a/admin/src/locales/en.json +++ b/admin/src/locales/en.json @@ -54,7 +54,7 @@ } }, "remove": "Remove", - "remove_all":"Remove all users", + "remove_all": "Remove all users", "transaction": "Transaction", "transactionlist": { "amount": "Amount", diff --git a/admin/src/pages/Creation.spec.js b/admin/src/pages/Creation.spec.js index 6dbc10901..eced66544 100644 --- a/admin/src/pages/Creation.spec.js +++ b/admin/src/pages/Creation.spec.js @@ -175,7 +175,6 @@ describe('Creation', () => { }) describe('cancel remove item', () => { - it('has one item in left table', () => { expect(wrapper.findAll('table').at(0).findAll('tbody > tr')).toHaveLength(2) }) diff --git a/admin/src/pages/Creation.vue b/admin/src/pages/Creation.vue index 28ef8d344..13e3783da 100644 --- a/admin/src/pages/Creation.vue +++ b/admin/src/pages/Creation.vue @@ -29,8 +29,8 @@
- - {{ $t('remove_all') }} + + {{ $t('remove_all') }}
Date: Fri, 4 Feb 2022 14:41:24 +0100 Subject: [PATCH 19/37] improve test --- admin/src/pages/Creation.spec.js | 79 +++++++++----------------------- admin/src/pages/Creation.vue | 6 +-- 2 files changed, 25 insertions(+), 60 deletions(-) diff --git a/admin/src/pages/Creation.spec.js b/admin/src/pages/Creation.spec.js index eced66544..85ad81031 100644 --- a/admin/src/pages/Creation.spec.js +++ b/admin/src/pages/Creation.spec.js @@ -154,43 +154,16 @@ describe('Creation', () => { }, ]) }) - }) - describe('remove item', () => { - beforeEach(async () => { - await wrapper - .findAll('table') - .at(0) - .findAll('tbody > tr') - .at(1) - .find('button') - .trigger('click') - await wrapper - .findAll('table') - .at(1) - .findAll('tbody > tr') - .at(0) - .find('button') - .trigger('click') - }) - - describe('cancel remove item', () => { - it('has one item in left table', () => { - expect(wrapper.findAll('table').at(0).findAll('tbody > tr')).toHaveLength(2) - }) - - it('has one item in right table', () => { - expect(wrapper.findAll('table').at(1).findAll('tbody > tr')).toHaveLength(0) - }) - }) - - describe('confirm remove item', () => { + describe('remove item', () => { beforeEach(async () => { - await wrapper.findAll('#overlay').at(1).findAll('button').at(1).trigger('click') - }) - - it('closes the dialog', () => { - expect(wrapper.findAll('#overlay').at(1).isVisible()).toBeFalsy() + await wrapper + .findAll('table') + .at(1) + .findAll('tbody > tr') + .at(0) + .find('button') + .trigger('click') }) it('has two items in left table', () => { @@ -211,32 +184,24 @@ describe('Creation', () => { expect(storeCommitMock).toBeCalledWith('setUserSelectedInMassCreation', []) }) }) - }) - // this can only happen after API call in CreationForm - describe('remove all bookmarks', () => { - beforeEach(async () => { - await wrapper - .findAll('table') - .at(0) - .findAll('tbody > tr') - .at(1) - .find('button') - .trigger('click') - jest.clearAllMocks() - wrapper.findComponent({ name: 'CreationFormular' }).vm.$emit('remove-all-bookmark') - }) + describe('remove all bookmarks', () => { + beforeEach(async () => { + jest.clearAllMocks() + await wrapper.find('button.btn-light').trigger('click') + }) - it('has no items in right table', () => { - expect(wrapper.findAll('table').at(1).findAll('tbody > tr')).toHaveLength(0) - }) + it('has no items in right table', () => { + expect(wrapper.findAll('table').at(1).findAll('tbody > tr')).toHaveLength(0) + }) - it('commits empty array to userSelectedInMassCreation', () => { - expect(storeCommitMock).toBeCalledWith('setUserSelectedInMassCreation', []) - }) + it('commits empty array to userSelectedInMassCreation', () => { + expect(storeCommitMock).toBeCalledWith('setUserSelectedInMassCreation', []) + }) - it('calls searchUsers', () => { - expect(apolloQueryMock).toBeCalled() + it('calls searchUsers', () => { + expect(apolloQueryMock).toBeCalled() + }) }) }) diff --git a/admin/src/pages/Creation.vue b/admin/src/pages/Creation.vue index 13e3783da..7810a611f 100644 --- a/admin/src/pages/Creation.vue +++ b/admin/src/pages/Creation.vue @@ -27,7 +27,7 @@
- + {{ $t('remove_all') }} @@ -49,7 +49,7 @@ type="massCreation" :creation="creation" :items="itemsMassCreation" - @remove-all-bookmark="removeAllBookmark" + @remove-all-bookmark="removeAllBookmarks" /> @@ -131,7 +131,7 @@ export default { ) this.$store.commit('setUserSelectedInMassCreation', this.itemsMassCreation) }, - removeAllBookmark() { + removeAllBookmarks() { this.itemsMassCreation = [] this.$store.commit('setUserSelectedInMassCreation', []) this.getUsers() From b50a552fadfa6a6702920a19bd4a9538b91180b2 Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 4 Feb 2022 15:14:43 +0100 Subject: [PATCH 20/37] disable form if balance <= 0, and show danger info text --- .../Pages/SendOverview/GddSend/TransactionForm.vue | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/Pages/SendOverview/GddSend/TransactionForm.vue b/frontend/src/views/Pages/SendOverview/GddSend/TransactionForm.vue index 364f54ac7..87dca8424 100644 --- a/frontend/src/views/Pages/SendOverview/GddSend/TransactionForm.vue +++ b/frontend/src/views/Pages/SendOverview/GddSend/TransactionForm.vue @@ -41,6 +41,7 @@ placeholder="E-Mail" style="font-size: large" class="pl-3" + :disabled="isBalanceDisabled" > @@ -76,6 +77,7 @@ :placeholder="$n(0.01)" style="font-size: large" class="pl-3" + :disabled="isBalanceDisabled" > @@ -105,6 +107,7 @@ v-model="form.memo" class="pl-3" style="font-size: large" + :disabled="isBalanceDisabled" > @@ -114,7 +117,8 @@

- +
Du hast keine GDD zum versenden.
+ {{ $t('form.reset') }} @@ -126,6 +130,7 @@ +
@@ -192,6 +197,11 @@ export default { this.form.email = this.form.email.trim() }, }, + computed: { + isBalanceDisabled(){ + return this.balance <= 0 ? 'disabled' : false + } + } }