From 12f3a7ab4abe56cae81664757070db4508753088 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Tue, 15 Mar 2022 21:03:55 +0100 Subject: [PATCH] set up seed for transaction links --- backend/src/seeds/factory/transactionLink.ts | 21 +++++++++++++++++++ backend/src/seeds/index.ts | 7 +++++++ .../TransactionLinkInterface.ts | 5 +++++ backend/src/seeds/transactionLink/index.ts | 10 +++++++++ 4 files changed, 43 insertions(+) create mode 100644 backend/src/seeds/factory/transactionLink.ts create mode 100644 backend/src/seeds/transactionLink/TransactionLinkInterface.ts create mode 100644 backend/src/seeds/transactionLink/index.ts diff --git a/backend/src/seeds/factory/transactionLink.ts b/backend/src/seeds/factory/transactionLink.ts new file mode 100644 index 000000000..c1ea13915 --- /dev/null +++ b/backend/src/seeds/factory/transactionLink.ts @@ -0,0 +1,21 @@ +import { ApolloServerTestClient } from 'apollo-server-testing' +import { createTransactionLink } from '@/seeds/graphql/mutations' +import { login } from '@/seeds/graphql/queries' +import { TransactionLinkInterface } from '@/seeds/transactionLink/TransactionLinkInterface' + +export const transactionLinkFactory = async ( + client: ApolloServerTestClient, + transactionLink: TransactionLinkInterface, +): Promise => { + const { mutate, query } = client + + // login + await query({ query: login, variables: { email: transactionLink.email, password: 'Aa12345_' } }) + + const variables = { + amount: transactionLink.amount, + memo: transactionLink.memo, + } + + await mutate({ mutation: createTransactionLink, variables }) +} diff --git a/backend/src/seeds/index.ts b/backend/src/seeds/index.ts index 3943a63e0..37c9992a7 100644 --- a/backend/src/seeds/index.ts +++ b/backend/src/seeds/index.ts @@ -8,8 +8,10 @@ import { name, internet, random } from 'faker' import { users } from './users/index' import { creations } from './creation/index' +import { transactionLinks } from './transactionLink/index' import { userFactory } from './factory/user' import { creationFactory } from './factory/creation' +import { transactionLinkFactory } from './factory/transactionLink' import { entities } from '@entity/index' const context = { @@ -64,6 +66,11 @@ const run = async () => { await creationFactory(seedClient, creations[i]) } + // create Transaction Links + for (let i = 0; i < transactionLinks.length; i++) { + await transactionLinkFactory(seedClient, transactionLinks[i]) + } + await con.close() } diff --git a/backend/src/seeds/transactionLink/TransactionLinkInterface.ts b/backend/src/seeds/transactionLink/TransactionLinkInterface.ts new file mode 100644 index 000000000..94b14992b --- /dev/null +++ b/backend/src/seeds/transactionLink/TransactionLinkInterface.ts @@ -0,0 +1,5 @@ +export interface TransactionLinkInterface { + email: string + amount: number + memo: string +} diff --git a/backend/src/seeds/transactionLink/index.ts b/backend/src/seeds/transactionLink/index.ts new file mode 100644 index 000000000..cd952c47f --- /dev/null +++ b/backend/src/seeds/transactionLink/index.ts @@ -0,0 +1,10 @@ +import { TransactionLinkInterface } from './TransactionLinkInterface' + +export const transactionLinks: TransactionLinkInterface[] = [ + { + email: 'bibi@bloxberg.de', + amount: 19.99, + memo: `Kein Trick, keine Zauberrei, +bei Gradidio sei dabei!`, + }, +]