Clean up seed-db.js

This commit is contained in:
Robert Schäfer 2019-02-19 01:51:04 +01:00
parent f7831dbbb7
commit 8a7435ebb7
6 changed files with 57 additions and 72 deletions

View File

@ -11,7 +11,6 @@ export default function (params) {
deleted = false deleted = false
} = params } = params
return ` return `
mutation { mutation {
${id}: CreateComment( ${id}: CreateComment(
@ -24,7 +23,7 @@ export default function (params) {
` `
} }
export function relate(type, params) { export function relate (type, params) {
const { from, to } = params const { from, to } = params
return ` return `
mutation { mutation {

View File

@ -1,20 +1,11 @@
import { GraphQLClient } from 'graphql-request' import { GraphQLClient } from 'graphql-request'
import ApolloClient from 'apollo-client'
import dotenv from 'dotenv' import dotenv from 'dotenv'
import { HttpLink } from 'apollo-link-http'
import { InMemoryCache } from 'apollo-cache-inmemory'
import neo4j from '../../bootstrap/neo4j' import neo4j from '../../bootstrap/neo4j'
import fetch from 'node-fetch'
export const seedServerHost = 'http://127.0.0.1:4001' export const seedServerHost = 'http://127.0.0.1:4001'
dotenv.config() dotenv.config()
const apolloClient = new ApolloClient({
link: new HttpLink({ uri: seedServerHost, fetch }),
cache: new InMemoryCache()
})
const driver = neo4j().getDriver() const driver = neo4j().getDriver()
const builders = { const builders = {
@ -68,7 +59,6 @@ const cleanDatabase = async () => {
export { export {
driver, driver,
apolloClient,
buildMutation, buildMutation,
buildRelationMutation, buildRelationMutation,
create, create,

View File

@ -22,7 +22,7 @@ export default function create (params) {
` `
} }
export function relate(type, params) { export function relate (type, params) {
const { from, to } = params const { from, to } = params
return ` return `
mutation { mutation {

View File

@ -17,7 +17,6 @@ export default function (params) {
deleted = false deleted = false
} = params } = params
return ` return `
mutation { mutation {
${id}: CreatePost( ${id}: CreatePost(
@ -33,7 +32,7 @@ export default function (params) {
` `
} }
export function relate(type, params) { export function relate (type, params) {
const { from, to } = params const { from, to } = params
return ` return `
mutation { mutation {

View File

@ -33,7 +33,7 @@ export default function create (params) {
` `
} }
export function relate(type, params) { export function relate (type, params) {
const { from, to } = params const { from, to } = params
return ` return `
mutation { mutation {

View File

@ -1,10 +1,9 @@
import { create, relate, apolloClient, seedServerHost as host } from './factories' import { create, relate, seedServerHost as host } from './factories'
import { authenticatedHeaders } from '../jest/helpers.js' import { authenticatedHeaders } from '../jest/helpers.js'
/* eslint-disable no-multi-spaces */ /* eslint-disable no-multi-spaces */
(async function () { (async function () {
try { try {
await Promise.all([ await Promise.all([
create('badge', { id: 'b1', key: 'indiegogo_en_racoon', type: 'crowdfunding', status: 'permanent', icon: '/img/badges/indiegogo_en_racoon.svg' }), create('badge', { id: 'b1', key: 'indiegogo_en_racoon', type: 'crowdfunding', status: 'permanent', icon: '/img/badges/indiegogo_en_racoon.svg' }),
create('badge', { id: 'b2', key: 'indiegogo_en_rabbit', type: 'crowdfunding', status: 'permanent', icon: '/img/badges/indiegogo_en_rabbit.svg' }), create('badge', { id: 'b2', key: 'indiegogo_en_rabbit', type: 'crowdfunding', status: 'permanent', icon: '/img/badges/indiegogo_en_rabbit.svg' }),
@ -46,12 +45,12 @@ import { authenticatedHeaders } from '../jest/helpers.js'
]) ])
const headers = await Promise.all([ const headers = await Promise.all([
authenticatedHeaders({ email: 'admin@example.org', password: '1234' }, host), authenticatedHeaders({ email: 'admin@example.org', password: '1234' }, host),
authenticatedHeaders({ email: 'moderator@example.org', password: '1234' }, host), authenticatedHeaders({ email: 'moderator@example.org', password: '1234' }, host),
authenticatedHeaders({ email: 'user@example.org', password: '1234' }, host), authenticatedHeaders({ email: 'user@example.org', password: '1234' }, host),
authenticatedHeaders({ email: 'tick@example.org', password: '1234' }, host), authenticatedHeaders({ email: 'tick@example.org', password: '1234' }, host),
authenticatedHeaders({ email: 'trick@example.org', password: '1234' }, host), authenticatedHeaders({ email: 'trick@example.org', password: '1234' }, host),
authenticatedHeaders({ email: 'track@example.org', password: '1234' }, host), authenticatedHeaders({ email: 'track@example.org', password: '1234' }, host)
]) ])
await Promise.all([ await Promise.all([
@ -80,24 +79,23 @@ import { authenticatedHeaders } from '../jest/helpers.js'
create('tag', { id: 't4', name: 'Freiheit' }) create('tag', { id: 't4', name: 'Freiheit' })
]) ])
await Promise.all([ await Promise.all([
create('post', { id: 'p0', tagIds: ['t1', 't4'] }, { headers: headers[0]}), create('post', { id: 'p0' }, { headers: headers[0] }),
create('post', { id: 'p1', tagIds: ['t2', 't3'] }, { headers: headers[1]}), create('post', { id: 'p1' }, { headers: headers[1] }),
create('post', { id: 'p2', tagIds: ['t3', 't4'] }, { headers: headers[2]}), create('post', { id: 'p2' }, { headers: headers[2] }),
create('post', { id: 'p3', tagIds: ['t4', 't2'] }, { headers: headers[3]}), create('post', { id: 'p3' }, { headers: headers[3] }),
create('post', { id: 'p4', tagIds: ['t1', 't2'] }, { headers: headers[4]}), create('post', { id: 'p4' }, { headers: headers[4] }),
create('post', { id: 'p5', tagIds: ['t2', 't4'] }, { headers: headers[5]}), create('post', { id: 'p5' }, { headers: headers[5] }),
create('post', { id: 'p6', tagIds: ['t1', 't4'] }, { headers: headers[0]}), create('post', { id: 'p6' }, { headers: headers[0] }),
create('post', { id: 'p7', tagIds: ['t2', 't3'] }, { headers: headers[1]}), create('post', { id: 'p7' }, { headers: headers[1] }),
create('post', { id: 'p8', tagIds: ['t3', 't4'] }, { headers: headers[2]}), create('post', { id: 'p8' }, { headers: headers[2] }),
create('post', { id: 'p9', tagIds: ['t3', 't4'] }, { headers: headers[3]}), create('post', { id: 'p9' }, { headers: headers[3] }),
create('post', { id: 'p10', tagIds: ['t4', 't2'] }, { headers: headers[4]}), create('post', { id: 'p10' }, { headers: headers[4] }),
create('post', { id: 'p11', tagIds: ['t1', 't2'] }, { headers: headers[5]}), create('post', { id: 'p11' }, { headers: headers[5] }),
create('post', { id: 'p12', tagIds: ['t2', 't4'] }, { headers: headers[0]}), create('post', { id: 'p12' }, { headers: headers[0] }),
create('post', { id: 'p13', tagIds: ['t4', 't2'] }, { headers: headers[1]}), create('post', { id: 'p13' }, { headers: headers[1] }),
create('post', { id: 'p14', tagIds: ['t1', 't2'] }, { headers: headers[2]}), create('post', { id: 'p14' }, { headers: headers[2] }),
create('post', { id: 'p15', tagIds: ['t2', 't4'] }, { headers: headers[3]}) create('post', { id: 'p15' }, { headers: headers[3] })
]) ])
await Promise.all([ await Promise.all([
@ -133,7 +131,7 @@ import { authenticatedHeaders } from '../jest/helpers.js'
relate('post', 'Tags', { from: 'p12', to: 't4' }), relate('post', 'Tags', { from: 'p12', to: 't4' }),
relate('post', 'Tags', { from: 'p13', to: 't1' }), relate('post', 'Tags', { from: 'p13', to: 't1' }),
relate('post', 'Tags', { from: 'p14', to: 't2' }), relate('post', 'Tags', { from: 'p14', to: 't2' }),
relate('post', 'Tags', { from: 'p15', to: 't3' }), relate('post', 'Tags', { from: 'p15', to: 't3' })
]) ])
await Promise.all([ await Promise.all([
relate('user', 'Shouted', { from: 'u1', to: 'p2' }), relate('user', 'Shouted', { from: 'u1', to: 'p2' }),
@ -145,44 +143,44 @@ import { authenticatedHeaders } from '../jest/helpers.js'
]) ])
await Promise.all([ await Promise.all([
create('comment', { id: "c1"}), create('comment', { id: 'c1' }),
create('comment', { id: "c2"}), create('comment', { id: 'c2' }),
create('comment', { id: "c3"}), create('comment', { id: 'c3' }),
create('comment', { id: "c4"}), create('comment', { id: 'c4' }),
create('comment', { id: "c5"}), create('comment', { id: 'c5' }),
create('comment', { id: "c6"}), create('comment', { id: 'c6' }),
create('comment', { id: "c7"}), create('comment', { id: 'c7' })
]) ])
await Promise.all([ await Promise.all([
relate('comment', 'Author', { from: 'u3', to: 'c1'}), relate('comment', 'Author', { from: 'u3', to: 'c1' }),
relate('comment', 'Post', { from: 'c1', to: 'p1'}), relate('comment', 'Post', { from: 'c1', to: 'p1' }),
relate('comment', 'Author', { from: 'u1', to: 'c2'}), relate('comment', 'Author', { from: 'u1', to: 'c2' }),
relate('comment', 'Post', { from: 'c2', to: 'p1'}), relate('comment', 'Post', { from: 'c2', to: 'p1' }),
relate('comment', 'Author', { from: 'u1', to: 'c3'}), relate('comment', 'Author', { from: 'u1', to: 'c3' }),
relate('comment', 'Post', { from: 'c3', to: 'p3'}), relate('comment', 'Post', { from: 'c3', to: 'p3' }),
relate('comment', 'Author', { from: 'u4', to: 'c4'}), relate('comment', 'Author', { from: 'u4', to: 'c4' }),
relate('comment', 'Post', { from: 'c4', to: 'p2'}), relate('comment', 'Post', { from: 'c4', to: 'p2' }),
relate('comment', 'Author', { from: 'u4', to: 'c5'}), relate('comment', 'Author', { from: 'u4', to: 'c5' }),
relate('comment', 'Post', { from: 'c5', to: 'p3'}), relate('comment', 'Post', { from: 'c5', to: 'p3' }),
relate('comment', 'Author', { from: 'u3', to: 'c6'}), relate('comment', 'Author', { from: 'u3', to: 'c6' }),
relate('comment', 'Post', { from: 'c6', to: 'p4'}), relate('comment', 'Post', { from: 'c6', to: 'p4' }),
relate('comment', 'Author', { from: 'u2', to: 'c7'}), relate('comment', 'Author', { from: 'u2', to: 'c7' }),
relate('comment', 'Post', { from: 'c7', to: 'p2'}), relate('comment', 'Post', { from: 'c7', to: 'p2' })
]) ])
await Promise.all([ await Promise.all([
create('organization', { id: "o1", name: "Democracy Deutschland", description: "Description for democracy-deutschland."}), create('organization', { id: 'o1', name: 'Democracy Deutschland', description: 'Description for democracy-deutschland.' }),
create('organization', { id: "o2", name: "Human-Connection", description: "Description for human-connection." }), create('organization', { id: 'o2', name: 'Human-Connection', description: 'Description for human-connection.' }),
create('organization', { id: "o3", name: "Pro Veg", description: "Description for pro-veg." }), create('organization', { id: 'o3', name: 'Pro Veg', description: 'Description for pro-veg.' }),
create('organization', { id: "o4", name: "Greenpeace", description: "Description for greenpeace." }) create('organization', { id: 'o4', name: 'Greenpeace', description: 'Description for greenpeace.' })
]) ])
await Promise.all([ await Promise.all([
relate('organization', 'CreatedBy', {from: 'u1', to: 'o1'}), relate('organization', 'CreatedBy', { from: 'u1', to: 'o1' }),
relate('organization', 'CreatedBy', {from: 'u1', to: 'o2'}), relate('organization', 'CreatedBy', { from: 'u1', to: 'o2' }),
relate('organization', 'OwnedBy', {from: 'u2', to: 'o2'}), relate('organization', 'OwnedBy', { from: 'u2', to: 'o2' }),
relate('organization', 'OwnedBy', {from: 'u2', to: 'o3'}) relate('organization', 'OwnedBy', { from: 'u2', to: 'o3' })
]) ])
/* eslint-disable-next-line no-console */ /* eslint-disable-next-line no-console */
console.log('Seeded Data...') console.log('Seeded Data...')
@ -191,6 +189,5 @@ import { authenticatedHeaders } from '../jest/helpers.js'
console.error(err) console.error(err)
process.exit(1) process.exit(1)
} }
})() })()
/* eslint-enable no-multi-spaces */ /* eslint-enable no-multi-spaces */