From 5206e27a7a52625b8bc6b9a3d358a4cb65fc2b46 Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 30 Nov 2021 13:44:42 +0100 Subject: [PATCH 01/28] Add PublisherID input box per collaps --- frontend/src/views/Pages/Register.vue | 31 ++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/Pages/Register.vue b/frontend/src/views/Pages/Register.vue index ea4000cff..551b2927b 100755 --- a/frontend/src/views/Pages/Register.vue +++ b/frontend/src/views/Pages/Register.vue @@ -121,8 +121,37 @@ {{ messageError }} + + PublisherId + + + + + + + + + + + + + +
+ Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte + lehr lassen. + Dies ist für die Registrieung nicht nötig! +
+ +
+
+
+
+
-
+
From 57e8be75a6291906abf90931cf6dca2b3dce3fa1 Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 30 Nov 2021 13:52:57 +0100 Subject: [PATCH 02/28] Add PublisherID locales in DOM and german --- frontend/src/locales/de.json | 5 +++++ frontend/src/views/Pages/Register.vue | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index b0dfe36d4..3494d5c52 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -169,6 +169,11 @@ "my-profil": "Mein Profil", "support": "Support" }, + "publisher": { + "publisherId": "Herausgeber ID", + "infoText": "Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte lehr lassen.", + "infoNoRegister": "Dies ist für die Registrieung nicht nötig!" + }, "signup": { "agree": "Ich stimme der Datenschutzerklärung zu.", "dont_match": "Die Passwörter stimmen nicht überein.", diff --git a/frontend/src/views/Pages/Register.vue b/frontend/src/views/Pages/Register.vue index 551b2927b..569d00bb9 100755 --- a/frontend/src/views/Pages/Register.vue +++ b/frontend/src/views/Pages/Register.vue @@ -122,7 +122,7 @@ - PublisherId + {{ $t('publisher.publisherId') }} @@ -140,9 +140,8 @@ v-b-toggle:my-collapse class="text-center mt-1 shadow-lg p-3 mb-5 rounded" > - Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte - lehr lassen. - Dies ist für die Registrieung nicht nötig! + {{ $t('publisher.infoText') }} + {{ $t('publisher.infoNoRegister') }}
From 75ec2a6e8cc4bce2341a9f08abd28dc1d00d054f Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 30 Nov 2021 13:54:33 +0100 Subject: [PATCH 03/28] Add PublisherID locales in DOM and english --- frontend/src/locales/en.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 135729ffa..595d97c0c 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -169,6 +169,11 @@ "my-profil": "My profile", "support": "Support" }, + "publisher": { + "publisherId": "PublisherID", + "infoText": "Enter the ID of the publisher here. If you do not have an ID, please leave it blank.", + "infoNoRegister": "This is not necessary for registration!" + }, "signup": { "agree": "I agree to the privacy policy.", "dont_match": "Passwords don't match.", From a1018b526d8cd48cd55d40a5a6889144168d589b Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 30 Nov 2021 13:56:22 +0100 Subject: [PATCH 04/28] Add locales for PublisherID --- frontend/src/locales/de.json | 10 +++++----- frontend/src/locales/en.json | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index 3494d5c52..eccb7b7fb 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -150,6 +150,11 @@ } }, "signup": "Registrieren", + "publisher": { + "publisherId": "Herausgeber ID", + "infoText": "Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte lehr lassen.", + "infoNoRegister": "Dies ist für die Registrieung nicht nötig!" + }, "site": { "404": { "back": "Zurück zur Übersicht!", @@ -169,11 +174,6 @@ "my-profil": "Mein Profil", "support": "Support" }, - "publisher": { - "publisherId": "Herausgeber ID", - "infoText": "Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte lehr lassen.", - "infoNoRegister": "Dies ist für die Registrieung nicht nötig!" - }, "signup": { "agree": "Ich stimme der Datenschutzerklärung zu.", "dont_match": "Die Passwörter stimmen nicht überein.", diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 595d97c0c..bcf4d7c11 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -150,6 +150,11 @@ } }, "signup": "Sign up", + "publisher": { + "publisherId": "PublisherID", + "infoText": "Enter the ID of the publisher here. If you do not have an ID, please leave it blank.", + "infoNoRegister": "This is not necessary for registration!" + }, "site": { "404": { "back": "Back to dashboard!", @@ -169,11 +174,6 @@ "my-profil": "My profile", "support": "Support" }, - "publisher": { - "publisherId": "PublisherID", - "infoText": "Enter the ID of the publisher here. If you do not have an ID, please leave it blank.", - "infoNoRegister": "This is not necessary for registration!" - }, "signup": { "agree": "I agree to the privacy policy.", "dont_match": "Passwords don't match.", From 2de8684ca3391a5aa89cca8523d396db0f7e7699 Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 30 Nov 2021 13:57:40 +0100 Subject: [PATCH 05/28] Add edit locales for german PublisherID for Herausgeber ID --- frontend/src/locales/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index eccb7b7fb..e68caaa59 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -151,7 +151,7 @@ }, "signup": "Registrieren", "publisher": { - "publisherId": "Herausgeber ID", + "publisherId": "PublisherID", "infoText": "Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte lehr lassen.", "infoNoRegister": "Dies ist für die Registrieung nicht nötig!" }, From eece84d007672d056d5ce1287d2dc503d0696abe Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 30 Nov 2021 13:58:34 +0100 Subject: [PATCH 06/28] yarn locales --fix --- frontend/src/locales/de.json | 10 +++++----- frontend/src/locales/en.json | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index e68caaa59..3e104541d 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -114,6 +114,11 @@ "message": "hallo gradido !!", "overview": "Übersicht", "privacy_policy": "Datenschutzerklärung", + "publisher": { + "infoNoRegister": "Dies ist für die Registrieung nicht nötig!", + "infoText": "Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte lehr lassen.", + "publisherId": "PublisherID" + }, "send": "Senden", "settings": { "coinanimation": { @@ -150,11 +155,6 @@ } }, "signup": "Registrieren", - "publisher": { - "publisherId": "PublisherID", - "infoText": "Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte lehr lassen.", - "infoNoRegister": "Dies ist für die Registrieung nicht nötig!" - }, "site": { "404": { "back": "Zurück zur Übersicht!", diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index bcf4d7c11..f473ff798 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -114,6 +114,11 @@ "message": "hello gradido !!", "overview": "Overview", "privacy_policy": "Privacy policy", + "publisher": { + "infoNoRegister": "This is not necessary for registration!", + "infoText": "Enter the ID of the publisher here. If you do not have an ID, please leave it blank.", + "publisherId": "PublisherID" + }, "send": "Send", "settings": { "coinanimation": { @@ -150,11 +155,6 @@ } }, "signup": "Sign up", - "publisher": { - "publisherId": "PublisherID", - "infoText": "Enter the ID of the publisher here. If you do not have an ID, please leave it blank.", - "infoNoRegister": "This is not necessary for registration!" - }, "site": { "404": { "back": "Back to dashboard!", From bc21f76848e56050b38cb13b0ba88eb0932b1c62 Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 30 Nov 2021 14:57:04 +0100 Subject: [PATCH 07/28] Insert publishID from Store when set --- frontend/src/views/Pages/Register.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/Pages/Register.vue b/frontend/src/views/Pages/Register.vue index 569d00bb9..517085a36 100755 --- a/frontend/src/views/Pages/Register.vue +++ b/frontend/src/views/Pages/Register.vue @@ -122,7 +122,7 @@ - {{ $t('publisher.publisherId') }} + {{ $t('publisher.publisherId') }} : {{ $store.state.publisherId }} @@ -134,7 +134,7 @@ - +
Date: Tue, 30 Nov 2021 14:57:38 +0100 Subject: [PATCH 08/28] yarn lint --fix --- frontend/src/views/Pages/Register.vue | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/Pages/Register.vue b/frontend/src/views/Pages/Register.vue index 517085a36..43334eaf7 100755 --- a/frontend/src/views/Pages/Register.vue +++ b/frontend/src/views/Pages/Register.vue @@ -122,7 +122,9 @@ - {{ $t('publisher.publisherId') }} : {{ $store.state.publisherId }} + + {{ $t('publisher.publisherId') }} : {{ $store.state.publisherId }} + @@ -134,7 +136,11 @@ - +
Date: Wed, 1 Dec 2021 15:34:08 +0100 Subject: [PATCH 09/28] Update frontend/src/locales/de.json Co-authored-by: Moriz Wahl --- frontend/src/locales/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index 3e104541d..1e8bfb621 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -116,7 +116,7 @@ "privacy_policy": "Datenschutzerklärung", "publisher": { "infoNoRegister": "Dies ist für die Registrieung nicht nötig!", - "infoText": "Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte lehr lassen.", + "infoText": "Trage hier die ID des Herausgebers ein. Wenn du keine ID hast dann bitte leer lassen.", "publisherId": "PublisherID" }, "send": "Senden", From 2bb11230f69cb293c1c49fe5b33f4525c6d67db7 Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Wed, 1 Dec 2021 15:34:19 +0100 Subject: [PATCH 10/28] Update frontend/src/views/Pages/Register.vue Co-authored-by: Moriz Wahl --- frontend/src/views/Pages/Register.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/Pages/Register.vue b/frontend/src/views/Pages/Register.vue index 43334eaf7..2842ad853 100755 --- a/frontend/src/views/Pages/Register.vue +++ b/frontend/src/views/Pages/Register.vue @@ -138,7 +138,7 @@ From 09cdd00c82849fa84d8a6ae6a34e78462eed8d81 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 1 Dec 2021 17:53:58 +0100 Subject: [PATCH 11/28] Add Methods commitStore() for publisherId --- frontend/src/views/Pages/Register.vue | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/Pages/Register.vue b/frontend/src/views/Pages/Register.vue index 2842ad853..da97c7c07 100755 --- a/frontend/src/views/Pages/Register.vue +++ b/frontend/src/views/Pages/Register.vue @@ -139,7 +139,8 @@
Date: Wed, 1 Dec 2021 17:55:03 +0100 Subject: [PATCH 12/28] remove all console logs --- frontend/src/views/Pages/Register.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/src/views/Pages/Register.vue b/frontend/src/views/Pages/Register.vue index da97c7c07..f80e37a22 100755 --- a/frontend/src/views/Pages/Register.vue +++ b/frontend/src/views/Pages/Register.vue @@ -234,7 +234,6 @@ export default { return dirty || validated ? valid : null }, commitStore(val) { - console.log('commitStore', val) this.$store.commit('publisherId', val) }, async onSubmit() { From 31adf5d6e26bf94642bbd6979bce8f41709eb85d Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 1 Dec 2021 18:39:25 +0100 Subject: [PATCH 13/28] jest test for input publisherId --- frontend/src/views/Pages/Register.spec.js | 6 ++++++ frontend/src/views/Pages/Register.vue | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/Pages/Register.spec.js b/frontend/src/views/Pages/Register.spec.js index c63de66cf..4cc8d9030 100644 --- a/frontend/src/views/Pages/Register.spec.js +++ b/frontend/src/views/Pages/Register.spec.js @@ -170,6 +170,11 @@ describe('Register', () => { expect(wrapper.find('#registerCheckbox').exists()).toBeTruthy() }) + it('has PublisherId input fields', () => { + wrapper.find('.publisherCollaps').trigger('click') + expect(wrapper.find('#publisherid').exists()).toBe(true) + }) + it('has disabled submit button when not completely filled', () => { expect(wrapper.find('button[type="submit"]').attributes('disabled')).toBe('disabled') }) @@ -221,6 +226,7 @@ describe('Register', () => { wrapper.find('input[name="form.password"]').setValue('Aa123456_') wrapper.find('input[name="form.passwordRepeat"]').setValue('Aa123456_') wrapper.find('.language-switch-select').findAll('option').at(1).setSelected() + wrapper.find('#publisherid').setValue('12345') }) it('has enabled submit button when completely filled', () => { diff --git a/frontend/src/views/Pages/Register.vue b/frontend/src/views/Pages/Register.vue index f80e37a22..8669781a4 100755 --- a/frontend/src/views/Pages/Register.vue +++ b/frontend/src/views/Pages/Register.vue @@ -121,7 +121,7 @@ {{ messageError }} - + {{ $t('publisher.publisherId') }} : {{ $store.state.publisherId }} @@ -137,6 +137,7 @@ Date: Wed, 1 Dec 2021 18:51:12 +0100 Subject: [PATCH 14/28] jest test for input publisherId commit to store --- frontend/src/views/Pages/Register.spec.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/src/views/Pages/Register.spec.js b/frontend/src/views/Pages/Register.spec.js index 4cc8d9030..ed4908d86 100644 --- a/frontend/src/views/Pages/Register.spec.js +++ b/frontend/src/views/Pages/Register.spec.js @@ -229,6 +229,10 @@ describe('Register', () => { wrapper.find('#publisherid').setValue('12345') }) + it('commits openCreationsMinus to store', () => { + expect(storeCommitMock).toBeCalledWith('publisherId', 12345) + }) + it('has enabled submit button when completely filled', () => { expect(wrapper.find('button[type="submit"]').attributes('disabled')).toBe('disabled') }) From 1004718892cea46a415385971099d2924d164c38 Mon Sep 17 00:00:00 2001 From: elweyn Date: Thu, 2 Dec 2021 06:30:41 +0100 Subject: [PATCH 15/28] Added moderator query to the creationFormular so we can send the right moderator id. --- admin/src/components/CreationFormular.vue | 14 ++++++++++++++ admin/src/graphql/verifyLogin.js | 11 +++++++++++ admin/src/store/store.js | 3 +++ backend/src/graphql/model/User.ts | 4 ++++ backend/src/graphql/resolver/UserResolver.ts | 2 ++ 5 files changed, 34 insertions(+) create mode 100644 admin/src/graphql/verifyLogin.js diff --git a/admin/src/components/CreationFormular.vue b/admin/src/components/CreationFormular.vue index 5d29c6fcb..b6a12433e 100644 --- a/admin/src/components/CreationFormular.vue +++ b/admin/src/components/CreationFormular.vue @@ -126,6 +126,7 @@
diff --git a/admin/src/graphql/verifyLogin.js b/admin/src/graphql/verifyLogin.js new file mode 100644 index 000000000..59f5e7eb1 --- /dev/null +++ b/admin/src/graphql/verifyLogin.js @@ -0,0 +1,11 @@ +import gql from 'graphql-tag' + +export const verifyLogin = gql` + query { + verifyLogin { + firstName + lastName + id + } + } +` diff --git a/admin/src/store/store.js b/admin/src/store/store.js index 140a92391..d67537499 100644 --- a/admin/src/store/store.js +++ b/admin/src/store/store.js @@ -18,6 +18,9 @@ export const mutations = { token: (state, token) => { state.token = token }, + moderator: (state, moderator) => { + state.moderator = moderator + }, } export const actions = { diff --git a/backend/src/graphql/model/User.ts b/backend/src/graphql/model/User.ts index cdb46c954..c7b5806ca 100644 --- a/backend/src/graphql/model/User.ts +++ b/backend/src/graphql/model/User.ts @@ -12,6 +12,7 @@ export class User { */ constructor(json?: any) { if (json) { + this.id = json.id this.email = json.email this.firstName = json.first_name this.lastName = json.last_name @@ -24,6 +25,9 @@ export class User { } } + @Field(() => Number) + id: number + @Field(() => String) email: string diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 7f5f7dc43..ce403ac0e 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -207,6 +207,7 @@ export class UserResolver { const loginUserRepository = getCustomRepository(LoginUserRepository) const loginUser = await loginUserRepository.findByEmail(userEntity.email) const user = new User() + user.id = userEntity.id user.email = userEntity.email user.firstName = userEntity.firstName user.lastName = userEntity.lastName @@ -276,6 +277,7 @@ export class UserResolver { } const user = new User() + user.id = userEntity.id user.email = email user.firstName = loginUser.firstName user.lastName = loginUser.lastName From 4e1baeae2e50f4d723854e4a87938aafaedf6812 Mon Sep 17 00:00:00 2001 From: elweyn Date: Thu, 2 Dec 2021 07:06:38 +0100 Subject: [PATCH 16/28] Test the apollo query for verifyLogin so we get the moderator before an creation. --- admin/src/components/CreationFormular.spec.js | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/admin/src/components/CreationFormular.spec.js b/admin/src/components/CreationFormular.spec.js index fcdf97cfa..e1bbff1cc 100644 --- a/admin/src/components/CreationFormular.spec.js +++ b/admin/src/components/CreationFormular.spec.js @@ -3,6 +3,16 @@ import CreationFormular from './CreationFormular.vue' const localVue = global.localVue +const apolloMock = jest.fn().mockResolvedValue({ + data: { + verifyLogin: { + name: 'success', + id: 0, + }, + }, +}) +const stateCommitMock = jest.fn() + const mocks = { $moment: jest.fn(() => { return { @@ -14,6 +24,12 @@ const mocks = { }), } }), + $apollo: { + query: apolloMock, + }, + $store: { + commit: stateCommitMock, + }, } const propsData = { @@ -39,6 +55,23 @@ describe('CreationFormular', () => { expect(wrapper.find('.component-creation-formular').exists()).toBeTruthy() }) + describe('server sends back moderator data', () => { + it('called store commit with mocked data', () => { + expect(stateCommitMock).toBeCalledWith('moderator', { name: 'success', id: 0 }) + }) + }) + + describe('server throws error for moderator data call', () => { + beforeEach(() => { + jest.clearAllMocks() + apolloMock.mockRejectedValue({ message: 'Ouch!' }) + wrapper = Wrapper() + }) + it('has called store commit with fake data', () => { + expect(stateCommitMock).toBeCalledWith('moderator', { id: 0, name: 'Test Moderator' }) + }) + }) + describe('radio buttons to selcet month', () => { it('has three radio buttons', () => { expect(wrapper.findAll('input[type="radio"]').length).toBe(3) From d8a6ac8638c2b1c45ca87c4b44c9cac34a6999ee Mon Sep 17 00:00:00 2001 From: elweyn Date: Thu, 2 Dec 2021 07:53:44 +0100 Subject: [PATCH 17/28] Test the EditCreationFormular & add verifyLogin to it. --- .../components/EditCreationFormular.spec.js | 143 ++++++++++++++++++ admin/src/components/EditCreationFormular.vue | 100 ++++++------ 2 files changed, 197 insertions(+), 46 deletions(-) create mode 100644 admin/src/components/EditCreationFormular.spec.js diff --git a/admin/src/components/EditCreationFormular.spec.js b/admin/src/components/EditCreationFormular.spec.js new file mode 100644 index 000000000..2f29cb812 --- /dev/null +++ b/admin/src/components/EditCreationFormular.spec.js @@ -0,0 +1,143 @@ +import { mount } from '@vue/test-utils' +import EditCreationFormular from './EditCreationFormular.vue' + +const localVue = global.localVue + +const apolloMock = jest.fn().mockResolvedValue({ + data: { + verifyLogin: { + name: 'success', + id: 0, + }, + }, +}) +const apolloMutateMock = jest.fn().mockResolvedValue({ + data: { + updatePendingCreation: { + creation: [0, 0, 0], + date: new Date(), + memo: 'qwertzuiopasdfghjkl', + moderator: 0, + }, + }, +}) +const stateCommitMock = jest.fn() + +const mocks = { + $moment: jest.fn(() => { + return { + format: jest.fn((m) => m), + subtract: jest.fn(() => { + return { + format: jest.fn((m) => m), + } + }), + } + }), + $apollo: { + query: apolloMock, + mutate: apolloMutateMock, + }, + $store: { + commit: stateCommitMock, + }, +} + +const propsData = { + type: '', + item: {}, + row: [], + creation: [], + itemsMassCreation: {}, +} + +describe('EditCreationFormular', () => { + let wrapper + + const Wrapper = () => { + return mount(EditCreationFormular, { localVue, mocks, propsData }) + } + + describe('mount', () => { + beforeEach(() => { + wrapper = Wrapper() + }) + + it('has a DIV element with the class.component-edit-creation-formular', () => { + expect(wrapper.find('.component-edit-creation-formular').exists()).toBeTruthy() + }) + + describe('server sends back moderator data', () => { + it('called store commit with mocked data', () => { + expect(stateCommitMock).toBeCalledWith('moderator', { name: 'success', id: 0 }) + }) + }) + + describe('server throws error for moderator data call', () => { + beforeEach(() => { + jest.clearAllMocks() + apolloMock.mockRejectedValue({ message: 'Ouch!' }) + wrapper = Wrapper() + }) + it('has called store commit with fake data', () => { + expect(stateCommitMock).toBeCalledWith('moderator', { id: 0, name: 'Test Moderator' }) + }) + }) + + describe('radio buttons to selcet month', () => { + it('has three radio buttons', () => { + expect(wrapper.findAll('input[type="radio"]').length).toBe(3) + }) + + describe('with single creation', () => { + beforeEach(async () => { + jest.clearAllMocks() + await wrapper.setProps({ type: 'singleCreation', creation: [200, 400, 600] }) + await wrapper.setData({ rangeMin: 180 }) + }) + + describe('first radio button', () => { + beforeEach(async () => { + await wrapper.findAll('input[type="radio"]').at(0).setChecked() + }) + + it('sets rangeMin to 0', () => { + expect(wrapper.vm.rangeMin).toBe(0) + }) + + it('sets rangeMax to 200', () => { + expect(wrapper.vm.rangeMax).toBe(200) + }) + }) + + describe('second radio button', () => { + beforeEach(async () => { + await wrapper.findAll('input[type="radio"]').at(1).setChecked() + }) + + it('sets rangeMin to 0', () => { + expect(wrapper.vm.rangeMin).toBe(0) + }) + + it('sets rangeMax to 400', () => { + expect(wrapper.vm.rangeMax).toBe(400) + }) + }) + + describe('third radio button', () => { + beforeEach(async () => { + await wrapper.findAll('input[type="radio"]').at(2).setChecked() + }) + + it('sets rangeMin to 0', () => { + expect(wrapper.vm.rangeMin).toBe(0) + }) + + it('sets rangeMax to 400', () => { + expect(wrapper.vm.rangeMax).toBe(600) + }) + }) + }) + }) + }) +}) diff --git a/admin/src/components/EditCreationFormular.vue b/admin/src/components/EditCreationFormular.vue index cfad75e6f..d3e362b5d 100644 --- a/admin/src/components/EditCreationFormular.vue +++ b/admin/src/components/EditCreationFormular.vue @@ -120,8 +120,9 @@ From fc799a78ebb25ad97d3b449aa49ac08f8bb3bf42 Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 2 Dec 2021 09:19:35 +0100 Subject: [PATCH 18/28] test von store commit publisherId, test store isAdmin --- frontend/src/store/store.test.js | 10 ++++++++++ frontend/src/views/Pages/Register.spec.js | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/frontend/src/store/store.test.js b/frontend/src/store/store.test.js index 829678b44..051c16102 100644 --- a/frontend/src/store/store.test.js +++ b/frontend/src/store/store.test.js @@ -11,6 +11,7 @@ const { coinanimation, newsletterState, publisherId, + isAdmin, community, hasElopage, } = mutations @@ -104,6 +105,15 @@ describe('Vuex store', () => { }) }) + + describe('isAdmin', () => { + it('sets the state of isAdmin', () => { + const state = { isAdmin: null } + isAdmin(state, true) + expect(state.isAdmin).toEqual(true) + }) + }) + describe('community', () => { it('sets the state of community', () => { const state = {} diff --git a/frontend/src/views/Pages/Register.spec.js b/frontend/src/views/Pages/Register.spec.js index ed4908d86..d6814bd49 100644 --- a/frontend/src/views/Pages/Register.spec.js +++ b/frontend/src/views/Pages/Register.spec.js @@ -229,8 +229,8 @@ describe('Register', () => { wrapper.find('#publisherid').setValue('12345') }) - it('commits openCreationsMinus to store', () => { - expect(storeCommitMock).toBeCalledWith('publisherId', 12345) + it('commits publisherId to store', () => { + expect(mockStoreCommit).toBeCalledWith('publisherId', 12345) }) it('has enabled submit button when completely filled', () => { From 36d3850c3f95a837614f57d2a7914b35a6137152 Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 2 Dec 2021 09:20:38 +0100 Subject: [PATCH 19/28] yarn lint --fix --- frontend/src/store/store.test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/src/store/store.test.js b/frontend/src/store/store.test.js index 051c16102..4f25f5352 100644 --- a/frontend/src/store/store.test.js +++ b/frontend/src/store/store.test.js @@ -105,7 +105,6 @@ describe('Vuex store', () => { }) }) - describe('isAdmin', () => { it('sets the state of isAdmin', () => { const state = { isAdmin: null } From 997230b334b4fde176cb80f5985702bcc0fc3dce Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 2 Dec 2021 11:26:00 +0100 Subject: [PATCH 20/28] text name changed from note to memo --- admin/src/graphql/getPendingCreations.js | 2 +- admin/src/pages/CreationConfirm.spec.js | 4 ++-- admin/src/pages/CreationConfirm.vue | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/admin/src/graphql/getPendingCreations.js b/admin/src/graphql/getPendingCreations.js index f359c79db..a94172d43 100644 --- a/admin/src/graphql/getPendingCreations.js +++ b/admin/src/graphql/getPendingCreations.js @@ -7,7 +7,7 @@ export const getPendingCreations = gql` lastName email amount - note + memo date moderator creation diff --git a/admin/src/pages/CreationConfirm.spec.js b/admin/src/pages/CreationConfirm.spec.js index 365ccd809..6598738f1 100644 --- a/admin/src/pages/CreationConfirm.spec.js +++ b/admin/src/pages/CreationConfirm.spec.js @@ -13,7 +13,7 @@ const apolloQueryMock = jest.fn().mockResolvedValue({ lastName: 'Bloxberg', email: 'bibi@bloxberg.de', amount: 500, - note: 'Danke für alles', + memo: 'Danke für alles', date: new Date(), moderator: 0, }, @@ -22,7 +22,7 @@ const apolloQueryMock = jest.fn().mockResolvedValue({ lastName: 'Hotzenplotz', email: 'raeuber@hotzenplotz.de', amount: 1000000, - note: 'Gut Ergatert', + memo: 'Gut Ergatert', date: new Date(), moderator: 0, }, diff --git a/admin/src/pages/CreationConfirm.vue b/admin/src/pages/CreationConfirm.vue index 660436d6c..368734b23 100644 --- a/admin/src/pages/CreationConfirm.vue +++ b/admin/src/pages/CreationConfirm.vue @@ -37,7 +37,7 @@ export default { return value + ' GDD' }, }, - { key: 'note', label: 'Text' }, + { key: 'memo', label: 'Text' }, { key: 'date', label: 'Datum', From 56fcd7d445490b934e5934bf1d3ed2ca69433178 Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 2 Dec 2021 11:51:06 +0100 Subject: [PATCH 21/28] change Overview.vue methods getPendingCreations and store set open pending creations --- admin/src/pages/CreationConfirm.vue | 3 ++- admin/src/pages/Overview.vue | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/admin/src/pages/CreationConfirm.vue b/admin/src/pages/CreationConfirm.vue index 368734b23..6b9166666 100644 --- a/admin/src/pages/CreationConfirm.vue +++ b/admin/src/pages/CreationConfirm.vue @@ -74,7 +74,9 @@ export default { query: getPendingCreations, }) .then((result) => { + this.$store.commit('resetOpenCreations') this.confirmResult = result.data.getPendingCreations + this.$store.commit('setOpenCreations', result.data.getPendingCreations.length) }) .catch((error) => { this.$toasted.error(error.message) @@ -83,7 +85,6 @@ export default { }, async created() { await this.getPendingCreations() - this.$store.commit('openCreationsPlus', Object.keys(this.confirmResult).length) }, } diff --git a/admin/src/pages/Overview.vue b/admin/src/pages/Overview.vue index d63c46199..6690678e3 100644 --- a/admin/src/pages/Overview.vue +++ b/admin/src/pages/Overview.vue @@ -76,24 +76,25 @@
From 297c892e5759d0a2efdd16e63e193489898e5540 Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 2 Dec 2021 11:52:36 +0100 Subject: [PATCH 22/28] remove console logs --- admin/src/pages/Overview.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/admin/src/pages/Overview.vue b/admin/src/pages/Overview.vue index 6690678e3..1c58751bc 100644 --- a/admin/src/pages/Overview.vue +++ b/admin/src/pages/Overview.vue @@ -87,7 +87,6 @@ export default { query: getPendingCreations, }) .then((result) => { - console.log(result.data) this.$store.commit('setOpenCreations', result.data.getPendingCreations.length) }) .catch() From ab86e95d179f975fc191150f69f87d01d92cfbb6 Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 2 Dec 2021 12:11:45 +0100 Subject: [PATCH 23/28] result array reverse, remove async from created und methods getPendingCreations --- admin/src/pages/CreationConfirm.vue | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/admin/src/pages/CreationConfirm.vue b/admin/src/pages/CreationConfirm.vue index 6b9166666..7e3ca329f 100644 --- a/admin/src/pages/CreationConfirm.vue +++ b/admin/src/pages/CreationConfirm.vue @@ -68,14 +68,14 @@ export default { this.$store.commit('openCreationsMinus', 1) } }, - async getPendingCreations() { + getPendingCreations() { this.$apollo .query({ query: getPendingCreations, }) .then((result) => { this.$store.commit('resetOpenCreations') - this.confirmResult = result.data.getPendingCreations + this.confirmResult = result.data.getPendingCreations.reverse() this.$store.commit('setOpenCreations', result.data.getPendingCreations.length) }) .catch((error) => { @@ -83,8 +83,9 @@ export default { }) }, }, - async created() { - await this.getPendingCreations() + created() { + alert('neu laden') + this.getPendingCreations() }, } From 3c5778a81bca8ebb860c8ff6b845b55add6dc558 Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 2 Dec 2021 12:14:06 +0100 Subject: [PATCH 24/28] remove alerts, remove test info text --- admin/src/pages/CreationConfirm.vue | 5 ----- 1 file changed, 5 deletions(-) diff --git a/admin/src/pages/CreationConfirm.vue b/admin/src/pages/CreationConfirm.vue index 7e3ca329f..654f1a74a 100644 --- a/admin/src/pages/CreationConfirm.vue +++ b/admin/src/pages/CreationConfirm.vue @@ -1,9 +1,5 @@