diff --git a/.github/workflows/test_dht-node.yml b/.github/workflows/test_dht-node.yml
index 5b3a65a70..4ac475351 100644
--- a/.github/workflows/test_dht-node.yml
+++ b/.github/workflows/test_dht-node.yml
@@ -1,4 +1,4 @@
-name: gradido test_dht-node CI
+name: Gradido DHT Node Test CI
on: push
@@ -7,7 +7,7 @@ jobs:
# JOB: DOCKER BUILD TEST #####################################################
##############################################################################
build:
- name: Docker Build Test
+ name: Docker Build Test - DHT Node
runs-on: ubuntu-latest
steps:
- name: Checkout code
@@ -28,7 +28,7 @@ jobs:
# JOB: LINT ##################################################################
##############################################################################
lint:
- name: Lint
+ name: Lint - DHT Node
runs-on: ubuntu-latest
needs: [build]
steps:
@@ -50,7 +50,7 @@ jobs:
# JOB: UNIT TEST #############################################################
##############################################################################
unit_test:
- name: Unit tests
+ name: Unit Tests - DHT Node
runs-on: ubuntu-latest
needs: [build]
steps:
@@ -90,7 +90,7 @@ jobs:
- name: Coverage check
uses: webcraftmedia/coverage-check-action@master
with:
- report_name: Coverage dht-node
+ report_name: Coverage DHT Node
type: lcov
#result_path: ./dht-node/coverage/lcov.info
result_path: ./coverage/lcov.info
diff --git a/.github/workflows/test_federation.yml b/.github/workflows/test_federation.yml
index 2da78758e..ab943eedd 100644
--- a/.github/workflows/test_federation.yml
+++ b/.github/workflows/test_federation.yml
@@ -1,4 +1,4 @@
-name: gradido test_federation CI
+name: Gradido Federation Test CI
on: push
@@ -7,7 +7,7 @@ jobs:
# JOB: DOCKER BUILD TEST #####################################################
##############################################################################
build:
- name: Docker Build Test
+ name: Docker Build Test - Federation
runs-on: ubuntu-latest
steps:
- name: Checkout code
@@ -28,7 +28,7 @@ jobs:
# JOB: LINT ##################################################################
##############################################################################
lint:
- name: Lint
+ name: Lint - Federation
runs-on: ubuntu-latest
needs: [build]
steps:
@@ -50,7 +50,7 @@ jobs:
# JOB: UNIT TEST #############################################################
##############################################################################
unit_test:
- name: Unit tests
+ name: Unit Tests - Federation
runs-on: ubuntu-latest
needs: [build]
steps:
@@ -90,7 +90,7 @@ jobs:
- name: Coverage check
uses: webcraftmedia/coverage-check-action@master
with:
- report_name: Coverage federation
+ report_name: Coverage Federation
type: lcov
#result_path: ./federation/coverage/lcov.info
result_path: ./coverage/lcov.info
diff --git a/admin/src/components/CreationFormular.spec.js b/admin/src/components/CreationFormular.spec.js
index b4b2e8b28..5dba2d931 100644
--- a/admin/src/components/CreationFormular.spec.js
+++ b/admin/src/components/CreationFormular.spec.js
@@ -1,7 +1,6 @@
import { mount } from '@vue/test-utils'
import CreationFormular from './CreationFormular'
import { adminCreateContribution } from '../graphql/adminCreateContribution'
-import { adminCreateContributions } from '../graphql/adminCreateContributions'
import { toastErrorSpy, toastSuccessSpy } from '../../test/testSetup'
const localVue = global.localVue
@@ -328,122 +327,6 @@ describe('CreationFormular', () => {
})
})
})
-
- describe('mass creation with success', () => {
- beforeEach(async () => {
- jest.clearAllMocks()
- apolloMutateMock.mockResolvedValue({
- data: {
- adminCreateContributions: {
- success: true,
- successfulContribution: ['bob@baumeister.de', 'bibi@bloxberg.de'],
- failedContribution: [],
- },
- },
- })
- await wrapper.setProps({
- type: 'massCreation',
- creation: [200, 400, 600],
- items: [{ email: 'bob@baumeister.de' }, { email: 'bibi@bloxberg.de' }],
- })
- await wrapper.findAll('input[type="radio"]').at(1).setChecked()
- await wrapper.find('textarea').setValue('Test mass create coins')
- await wrapper.find('input[type="number"]').setValue(200)
- await wrapper.find('.test-submit').trigger('click')
- })
-
- it('calls the API', () => {
- expect(apolloMutateMock).toBeCalledWith(
- expect.objectContaining({
- mutation: adminCreateContributions,
- variables: {
- pendingCreations: [
- {
- email: 'bob@baumeister.de',
- creationDate: getCreationDate(1),
- amount: 200,
- memo: 'Test mass create coins',
- },
- {
- email: 'bibi@bloxberg.de',
- creationDate: getCreationDate(1),
- amount: 200,
- memo: 'Test mass create coins',
- },
- ],
- },
- }),
- )
- })
-
- it('updates open creations in store', () => {
- expect(stateCommitMock).toBeCalledWith('openCreationsPlus', 2)
- })
-
- it('emits remove-all-bookmark', () => {
- expect(wrapper.emitted('remove-all-bookmark')).toBeTruthy()
- })
- })
-
- describe('mass creation with success but all failed', () => {
- beforeEach(async () => {
- jest.clearAllMocks()
- apolloMutateMock.mockResolvedValue({
- data: {
- adminCreateContributions: {
- success: true,
- successfulContribution: [],
- failedContribution: ['bob@baumeister.de', 'bibi@bloxberg.de'],
- },
- },
- })
- await wrapper.setProps({
- type: 'massCreation',
- creation: [200, 400, 600],
- items: [{ email: 'bob@baumeister.de' }, { email: 'bibi@bloxberg.de' }],
- })
- await wrapper.findAll('input[type="radio"]').at(1).setChecked()
- await wrapper.find('textarea').setValue('Test mass create coins')
- await wrapper.find('input[type="number"]').setValue(200)
- await wrapper.find('.test-submit').trigger('click')
- })
-
- it('updates open creations in store', () => {
- expect(stateCommitMock).toBeCalledWith('openCreationsPlus', 0)
- })
-
- it('emits remove all bookmarks', () => {
- expect(wrapper.emitted('remove-all-bookmark')).toBeTruthy()
- })
-
- it('emits toast failed creations with two emails', () => {
- expect(wrapper.emitted('toast-failed-creations')).toEqual([
- [['bob@baumeister.de', 'bibi@bloxberg.de']],
- ])
- })
- })
-
- describe('mass creation with error', () => {
- beforeEach(async () => {
- jest.clearAllMocks()
- apolloMutateMock.mockRejectedValue({
- message: 'Oh no!',
- })
- await wrapper.setProps({
- type: 'massCreation',
- creation: [200, 400, 600],
- items: [{ email: 'bob@baumeister.de' }, { email: 'bibi@bloxberg.de' }],
- })
- await wrapper.findAll('input[type="radio"]').at(1).setChecked()
- await wrapper.find('textarea').setValue('Test mass create coins')
- await wrapper.find('input[type="number"]').setValue(200)
- await wrapper.find('.test-submit').trigger('click')
- })
-
- it('toasts an error message', () => {
- expect(toastErrorSpy).toBeCalledWith('Oh no!')
- })
- })
})
})
})
diff --git a/admin/src/components/CreationFormular.vue b/admin/src/components/CreationFormular.vue
index 2201838de..137b46400 100644
--- a/admin/src/components/CreationFormular.vue
+++ b/admin/src/components/CreationFormular.vue
@@ -86,16 +86,11 @@
+
diff --git a/frontend/src/components/Transactions/TransactionLinkSummary.spec.js b/frontend/src/components/Transactions/TransactionLinkSummary.spec.js
index d0086ceab..46041f87f 100644
--- a/frontend/src/components/Transactions/TransactionLinkSummary.spec.js
+++ b/frontend/src/components/Transactions/TransactionLinkSummary.spec.js
@@ -47,51 +47,53 @@ describe('TransactionLinkSummary', () => {
beforeEach(() => {
apolloQueryMock.mockResolvedValue({
data: {
- listTransactionLinks: [
- {
- amount: '75',
- link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
- createdAt: '2022-03-16T14:22:40.000Z',
- holdAvailableAmount: '5.13109484759482747111',
- id: 86,
- memo:
- 'Hokuspokus Haselnuss, Vogelbein und Fliegenfuß, damit der Trick gelingen muss!',
- redeemedAt: null,
- validUntil: '2022-03-30T14:22:40.000Z',
- },
- {
- amount: '85',
- link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
- createdAt: '2022-03-16T14:22:40.000Z',
- holdAvailableAmount: '5.13109484759482747111',
- id: 107,
- memo: 'Mäusespeck und Katzenbuckel, Tricks und Tracks und Zauberkugel!',
- redeemedAt: null,
- validUntil: '2022-03-30T14:22:40.000Z',
- },
- {
- amount: '95',
- link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
- createdAt: '2022-03-16T14:22:40.000Z',
- holdAvailableAmount: '5.13109484759482747111',
- id: 92,
- memo:
- 'Abrakadabra 1,2,3, die Sonne kommt herbei. Schweinepups und Spuckebrei, der Regen ist vorbei.',
- redeemedAt: null,
- validUntil: '2022-03-30T14:22:40.000Z',
- },
- {
- amount: '150',
- link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
- createdAt: '2022-03-16T14:22:40.000Z',
- holdAvailableAmount: '5.13109484759482747111',
- id: 16,
- memo:
- 'Abrakadabra 1,2,3 was verschwunden ist komme herbei.Wieseldreck und Schweinemist, zaubern das ist keine List.',
- redeemedAt: null,
- validUntil: '2022-03-30T14:22:40.000Z',
- },
- ],
+ listTransactionLinks: {
+ links: [
+ {
+ amount: '75',
+ link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
+ createdAt: '2022-03-16T14:22:40.000Z',
+ holdAvailableAmount: '5.13109484759482747111',
+ id: 86,
+ memo:
+ 'Hokuspokus Haselnuss, Vogelbein und Fliegenfuß, damit der Trick gelingen muss!',
+ redeemedAt: null,
+ validUntil: '2022-03-30T14:22:40.000Z',
+ },
+ {
+ amount: '85',
+ link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
+ createdAt: '2022-03-16T14:22:40.000Z',
+ holdAvailableAmount: '5.13109484759482747111',
+ id: 107,
+ memo: 'Mäusespeck und Katzenbuckel, Tricks und Tracks und Zauberkugel!',
+ redeemedAt: null,
+ validUntil: '2022-03-30T14:22:40.000Z',
+ },
+ {
+ amount: '95',
+ link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
+ createdAt: '2022-03-16T14:22:40.000Z',
+ holdAvailableAmount: '5.13109484759482747111',
+ id: 92,
+ memo:
+ 'Abrakadabra 1,2,3, die Sonne kommt herbei. Schweinepups und Spuckebrei, der Regen ist vorbei.',
+ redeemedAt: null,
+ validUntil: '2022-03-30T14:22:40.000Z',
+ },
+ {
+ amount: '150',
+ link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
+ createdAt: '2022-03-16T14:22:40.000Z',
+ holdAvailableAmount: '5.13109484759482747111',
+ id: 16,
+ memo:
+ 'Abrakadabra 1,2,3 was verschwunden ist komme herbei.Wieseldreck und Schweinemist, zaubern das ist keine List.',
+ redeemedAt: null,
+ validUntil: '2022-03-30T14:22:40.000Z',
+ },
+ ],
+ },
},
})
@@ -166,51 +168,53 @@ describe('TransactionLinkSummary', () => {
jest.clearAllMocks()
apolloQueryMock.mockResolvedValue({
data: {
- listTransactionLinks: [
- {
- amount: '76',
- link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
- createdAt: '2022-03-16T14:22:40.000Z',
- holdAvailableAmount: '5.13109484759482747111',
- id: 87,
- memo:
- 'Hat jemand die Nummer von der Hexe aus Schneewittchen? Ich bräuchte mal ein paar Äpfel.',
- redeemedAt: null,
- validUntil: '2022-03-30T14:22:40.000Z',
- },
- {
- amount: '86',
- link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
- createdAt: '2022-03-16T14:22:40.000Z',
- holdAvailableAmount: '5.13109484759482747111',
- id: 108,
- memo:
- 'Die Windfahn´ krächzt am Dach, Der Uhu im Geklüfte; Was wispert wie ein Ach Verhallend in die Lüfte?',
- redeemedAt: null,
- validUntil: '2022-03-30T14:22:40.000Z',
- },
- {
- amount: '96',
- link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
- createdAt: '2022-03-16T14:22:40.000Z',
- holdAvailableAmount: '5.13109484759482747111',
- id: 93,
- memo:
- 'Verschlafen kräht der Hahn, Ein Blitz noch, und ein trüber, Umwölbter Tag bricht an – Walpurgisnacht vorüber!',
- redeemedAt: null,
- validUntil: '2022-03-30T14:22:40.000Z',
- },
- {
- amount: '150',
- link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
- createdAt: '2022-03-16T14:22:40.000Z',
- holdAvailableAmount: '5.13109484759482747111',
- id: 17,
- memo: 'Eene meene Flaschenschrank, fertig ist der Hexentrank!',
- redeemedAt: null,
- validUntil: '2022-03-30T14:22:40.000Z',
- },
- ],
+ listTransactionLinks: {
+ links: [
+ {
+ amount: '76',
+ link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
+ createdAt: '2022-03-16T14:22:40.000Z',
+ holdAvailableAmount: '5.13109484759482747111',
+ id: 87,
+ memo:
+ 'Hat jemand die Nummer von der Hexe aus Schneewittchen? Ich bräuchte mal ein paar Äpfel.',
+ redeemedAt: null,
+ validUntil: '2022-03-30T14:22:40.000Z',
+ },
+ {
+ amount: '86',
+ link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
+ createdAt: '2022-03-16T14:22:40.000Z',
+ holdAvailableAmount: '5.13109484759482747111',
+ id: 108,
+ memo:
+ 'Die Windfahn´ krächzt am Dach, Der Uhu im Geklüfte; Was wispert wie ein Ach Verhallend in die Lüfte?',
+ redeemedAt: null,
+ validUntil: '2022-03-30T14:22:40.000Z',
+ },
+ {
+ amount: '96',
+ link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
+ createdAt: '2022-03-16T14:22:40.000Z',
+ holdAvailableAmount: '5.13109484759482747111',
+ id: 93,
+ memo:
+ 'Verschlafen kräht der Hahn, Ein Blitz noch, und ein trüber, Umwölbter Tag bricht an – Walpurgisnacht vorüber!',
+ redeemedAt: null,
+ validUntil: '2022-03-30T14:22:40.000Z',
+ },
+ {
+ amount: '150',
+ link: 'http://localhost/redeem/ce28664b5308c17f931c0367',
+ createdAt: '2022-03-16T14:22:40.000Z',
+ holdAvailableAmount: '5.13109484759482747111',
+ id: 17,
+ memo: 'Eene meene Flaschenschrank, fertig ist der Hexentrank!',
+ redeemedAt: null,
+ validUntil: '2022-03-30T14:22:40.000Z',
+ },
+ ],
+ },
},
})
await wrapper.setData({
diff --git a/frontend/src/components/Transactions/TransactionLinkSummary.vue b/frontend/src/components/Transactions/TransactionLinkSummary.vue
index b54c0e687..c3a62357b 100644
--- a/frontend/src/components/Transactions/TransactionLinkSummary.vue
+++ b/frontend/src/components/Transactions/TransactionLinkSummary.vue
@@ -90,7 +90,10 @@ export default {
fetchPolicy: 'network-only',
})
.then((result) => {
- this.transactionLinks = [...this.transactionLinks, ...result.data.listTransactionLinks]
+ this.transactionLinks = [
+ ...this.transactionLinks,
+ ...result.data.listTransactionLinks.links,
+ ]
this.$emit('update-transactions')
this.pending = false
})
diff --git a/frontend/src/graphql/queries.js b/frontend/src/graphql/queries.js
index e199a3730..6e8d420b8 100644
--- a/frontend/src/graphql/queries.js
+++ b/frontend/src/graphql/queries.js
@@ -126,14 +126,16 @@ export const queryTransactionLink = gql`
export const listTransactionLinks = gql`
query($currentPage: Int = 1, $pageSize: Int = 5) {
listTransactionLinks(currentPage: $currentPage, pageSize: $pageSize) {
- id
- amount
- holdAvailableAmount
- memo
- link
- createdAt
- validUntil
- redeemedAt
+ links {
+ id
+ amount
+ holdAvailableAmount
+ memo
+ link
+ createdAt
+ validUntil
+ redeemedAt
+ }
}
}
`
diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json
index c826b9e30..d966e2867 100644
--- a/frontend/src/locales/de.json
+++ b/frontend/src/locales/de.json
@@ -214,7 +214,6 @@
"factor": "Faktor",
"formula": "Berechnungsformel",
"funding": "Zu den Förderbeiträgen",
- "gdt": "Gradido Transform",
"gdt-received": "Gradido Transform (GDT) erhalten",
"gdtKonto": "GDT Konto",
"no-transactions": "Du hast noch keine Gradido Transform (GDT).",
diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json
index 193aff666..a5be6e05b 100644
--- a/frontend/src/locales/en.json
+++ b/frontend/src/locales/en.json
@@ -214,7 +214,6 @@
"factor": "Factor",
"formula": "Calculation formula",
"funding": "To the funding contributions",
- "gdt": "Gradido Transform",
"gdt-received": "Gradido Transform (GDT) received",
"gdtKonto": "GDT Konto",
"no-transactions": "You do not have Gradido Transform (GDT) yet.",