mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
parent
afe47e84c0
commit
e5be418076
@ -19,9 +19,8 @@
|
||||
"test:jest": "run-p --race test:before:* \"test:jest:cmd {@}\" --",
|
||||
"test:cucumber": " cross-env CLIENT_URI=http://localhost:4123 run-p --race test:before:* 'test:cucumber:cmd {@}' --",
|
||||
"test:jest:debug": "run-p --race test:before:* 'test:jest:cmd:debug {@}' --",
|
||||
"db:script:seed": "wait-on tcp:4001 && babel-node src/seed/seed-db.js",
|
||||
"db:reset": "cross-env babel-node src/seed/reset-db.js",
|
||||
"db:seed": "cross-env GRAPHQL_URI=http://localhost:4001 GRAPHQL_PORT=4001 DISABLED_MIDDLEWARES=permissions run-p --race dev db:script:seed"
|
||||
"db:reset": "babel-node src/seed/reset-db.js",
|
||||
"db:seed": "babel-node src/seed/seed-db.js"
|
||||
},
|
||||
"author": "Human Connection gGmbH",
|
||||
"license": "MIT",
|
||||
|
||||
@ -83,4 +83,10 @@ module.exports = {
|
||||
target: 'Notification',
|
||||
direction: 'in',
|
||||
},
|
||||
shouted: {
|
||||
type: 'relationship',
|
||||
relationship: 'SHOUTED',
|
||||
target: 'Post',
|
||||
direction: 'out',
|
||||
},
|
||||
}
|
||||
|
||||
@ -1,9 +1,29 @@
|
||||
import faker from 'faker'
|
||||
import { createTestClient } from 'apollo-server-testing'
|
||||
import createServer from '../server'
|
||||
import Factory from './factories'
|
||||
import { neode as getNeode, getDriver } from '../bootstrap/neo4j'
|
||||
import { gql } from '../jest/helpers'
|
||||
|
||||
/* eslint-disable no-multi-spaces */
|
||||
;(async function() {
|
||||
let authenticatedUser = null
|
||||
const driver = getDriver()
|
||||
const factory = Factory()
|
||||
const neode = getNeode()
|
||||
|
||||
try {
|
||||
const { server } = createServer({
|
||||
context: () => {
|
||||
return {
|
||||
driver,
|
||||
neode,
|
||||
user: authenticatedUser,
|
||||
}
|
||||
},
|
||||
})
|
||||
const { mutate } = createTestClient(server)
|
||||
|
||||
const f = Factory()
|
||||
const [racoon, rabbit, wolf, bear, turtle, rhino] = await Promise.all([
|
||||
f.create('Badge', {
|
||||
@ -36,9 +56,9 @@ import Factory from './factories'
|
||||
peterLustig,
|
||||
bobDerBaumeister,
|
||||
jennyRostock,
|
||||
tick, // eslint-disable-line no-unused-vars
|
||||
trick, // eslint-disable-line no-unused-vars
|
||||
track, // eslint-disable-line no-unused-vars
|
||||
huey,
|
||||
dewey,
|
||||
louie,
|
||||
dagobert,
|
||||
] = await Promise.all([
|
||||
f.create('User', {
|
||||
@ -64,22 +84,22 @@ import Factory from './factories'
|
||||
}),
|
||||
f.create('User', {
|
||||
id: 'u4',
|
||||
name: 'Huey (Tick)',
|
||||
slug: 'huey-tick',
|
||||
name: 'Huey',
|
||||
slug: 'huey',
|
||||
role: 'user',
|
||||
email: 'huey@example.org',
|
||||
}),
|
||||
f.create('User', {
|
||||
id: 'u5',
|
||||
name: 'Dewey (Trick)',
|
||||
slug: 'dewey-trick',
|
||||
name: 'Dewey',
|
||||
slug: 'dewey',
|
||||
role: 'user',
|
||||
email: 'dewey@example.org',
|
||||
}),
|
||||
f.create('User', {
|
||||
id: 'u6',
|
||||
name: 'Louie (Track)',
|
||||
slug: 'louie-track',
|
||||
name: 'Louie',
|
||||
slug: 'louie',
|
||||
role: 'user',
|
||||
email: 'louie@example.org',
|
||||
}),
|
||||
@ -92,33 +112,6 @@ import Factory from './factories'
|
||||
}),
|
||||
])
|
||||
|
||||
const [asAdmin, asModerator, asUser, asTick, asTrick, asTrack] = await Promise.all([
|
||||
Factory().authenticateAs({
|
||||
email: 'admin@example.org',
|
||||
password: '1234',
|
||||
}),
|
||||
Factory().authenticateAs({
|
||||
email: 'moderator@example.org',
|
||||
password: '1234',
|
||||
}),
|
||||
Factory().authenticateAs({
|
||||
email: 'user@example.org',
|
||||
password: '1234',
|
||||
}),
|
||||
Factory().authenticateAs({
|
||||
email: 'huey@example.org',
|
||||
password: '1234',
|
||||
}),
|
||||
Factory().authenticateAs({
|
||||
email: 'dewey@example.org',
|
||||
password: '1234',
|
||||
}),
|
||||
Factory().authenticateAs({
|
||||
email: 'louie@example.org',
|
||||
password: '1234',
|
||||
}),
|
||||
])
|
||||
|
||||
await Promise.all([
|
||||
peterLustig.relateTo(racoon, 'rewarded'),
|
||||
peterLustig.relateTo(rhino, 'rewarded'),
|
||||
@ -133,16 +126,16 @@ import Factory from './factories'
|
||||
bobDerBaumeister.relateTo(jennyRostock, 'friends'),
|
||||
|
||||
peterLustig.relateTo(jennyRostock, 'following'),
|
||||
peterLustig.relateTo(tick, 'following'),
|
||||
bobDerBaumeister.relateTo(tick, 'following'),
|
||||
jennyRostock.relateTo(tick, 'following'),
|
||||
tick.relateTo(track, 'following'),
|
||||
trick.relateTo(tick, 'following'),
|
||||
track.relateTo(jennyRostock, 'following'),
|
||||
peterLustig.relateTo(huey, 'following'),
|
||||
bobDerBaumeister.relateTo(huey, 'following'),
|
||||
jennyRostock.relateTo(huey, 'following'),
|
||||
huey.relateTo(dewey, 'following'),
|
||||
dewey.relateTo(huey, 'following'),
|
||||
louie.relateTo(jennyRostock, 'following'),
|
||||
|
||||
dagobert.relateTo(tick, 'blocked'),
|
||||
dagobert.relateTo(trick, 'blocked'),
|
||||
dagobert.relateTo(track, 'blocked'),
|
||||
dagobert.relateTo(huey, 'blocked'),
|
||||
dagobert.relateTo(dewey, 'blocked'),
|
||||
dagobert.relateTo(louie, 'blocked'),
|
||||
])
|
||||
|
||||
await Promise.all([
|
||||
@ -244,25 +237,90 @@ import Factory from './factories'
|
||||
}),
|
||||
])
|
||||
|
||||
await Promise.all([
|
||||
const [environment, nature, democracy, freedom] = await Promise.all([
|
||||
f.create('Tag', {
|
||||
id: 'Umwelt',
|
||||
name: 'Umwelt',
|
||||
id: 'Environment',
|
||||
}),
|
||||
f.create('Tag', {
|
||||
id: 'Naturschutz',
|
||||
name: 'Naturschutz',
|
||||
id: 'Nature',
|
||||
}),
|
||||
f.create('Tag', {
|
||||
id: 'Demokratie',
|
||||
name: 'Demokratie',
|
||||
id: 'Democracy',
|
||||
}),
|
||||
f.create('Tag', {
|
||||
id: 'Freiheit',
|
||||
name: 'Freiheit',
|
||||
id: 'Freedom',
|
||||
}),
|
||||
])
|
||||
|
||||
const [p0, p1, p3, p4, p5, p6, p9, p10, p11, p13, p14, p15] = await Promise.all([
|
||||
factory.create('Post', {
|
||||
author: peterLustig,
|
||||
id: 'p0',
|
||||
image: faker.image.unsplash.food(),
|
||||
categoryIds: ['cat16'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: bobDerBaumeister,
|
||||
id: 'p1',
|
||||
image: faker.image.unsplash.technology(),
|
||||
categoryIds: ['cat1'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: huey,
|
||||
id: 'p3',
|
||||
categoryIds: ['cat3'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: dewey,
|
||||
id: 'p4',
|
||||
categoryIds: ['cat4'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: louie,
|
||||
id: 'p5',
|
||||
categoryIds: ['cat5'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
authorId: 'u1',
|
||||
id: 'p6',
|
||||
image: faker.image.unsplash.buildings(),
|
||||
categoryIds: ['cat6'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: huey,
|
||||
id: 'p9',
|
||||
categoryIds: ['cat9'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: dewey,
|
||||
id: 'p10',
|
||||
categoryIds: ['cat10'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: louie,
|
||||
id: 'p11',
|
||||
image: faker.image.unsplash.people(),
|
||||
categoryIds: ['cat11'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: bobDerBaumeister,
|
||||
id: 'p13',
|
||||
categoryIds: ['cat13'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: jennyRostock,
|
||||
id: 'p14',
|
||||
image: faker.image.unsplash.objects(),
|
||||
categoryIds: ['cat14'],
|
||||
}),
|
||||
factory.create('Post', {
|
||||
author: huey,
|
||||
id: 'p15',
|
||||
categoryIds: ['cat15'],
|
||||
}),
|
||||
])
|
||||
|
||||
authenticatedUser = await louie.toJson()
|
||||
const mention1 =
|
||||
'Hey <a class="mention" data-mention-id="u3" href="/profile/u3">@jenny-rostock</a>, what\'s up?'
|
||||
const mention2 =
|
||||
@ -271,445 +329,271 @@ import Factory from './factories'
|
||||
'See <a class="hashtag" href="/search/hashtag/NaturphilosophieYoga">#NaturphilosophieYoga</a> can really help you!'
|
||||
const hashtagAndMention1 =
|
||||
'The new physics of <a class="hashtag" href="/search/hashtag/QuantenFlussTheorie">#QuantenFlussTheorie</a> can explain <a class="hashtag" href="/search/hashtag/QuantumGravity">#QuantumGravity</a>! <a class="mention" data-mention-id="u1" href="/profile/u1">@peter-lustig</a> got that already. ;-)'
|
||||
const createPostMutation = gql`
|
||||
mutation($id: ID, $title: String!, $content: String!, $categoryIds: [ID]) {
|
||||
CreatePost(id: $id, title: $title, content: $content, categoryIds: $categoryIds) {
|
||||
id
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
await Promise.all([
|
||||
asAdmin.create('Post', {
|
||||
id: 'p0',
|
||||
image: faker.image.unsplash.food(),
|
||||
categoryIds: ['cat16'],
|
||||
mutate({
|
||||
mutation: createPostMutation,
|
||||
variables: {
|
||||
id: 'p2',
|
||||
title: `Nature Philosophy Yoga`,
|
||||
content: hashtag1,
|
||||
categoryIds: ['cat2'],
|
||||
},
|
||||
}),
|
||||
asModerator.create('Post', {
|
||||
id: 'p1',
|
||||
image: faker.image.unsplash.technology(),
|
||||
categoryIds: ['cat1'],
|
||||
mutate({
|
||||
mutation: createPostMutation,
|
||||
variables: {
|
||||
id: 'p7',
|
||||
title: 'This is post #7',
|
||||
content: `${mention1} ${faker.lorem.paragraph()}`,
|
||||
categoryIds: ['cat7'],
|
||||
},
|
||||
}),
|
||||
asUser.create('Post', {
|
||||
id: 'p2',
|
||||
title: `Nature Philosophy Yoga`,
|
||||
content: `${hashtag1}`,
|
||||
categoryIds: ['cat2'],
|
||||
mutate({
|
||||
mutation: createPostMutation,
|
||||
variables: {
|
||||
id: 'p8',
|
||||
image: faker.image.unsplash.nature(),
|
||||
title: `Quantum Flow Theory explains Quantum Gravity`,
|
||||
content: hashtagAndMention1,
|
||||
categoryIds: ['cat8'],
|
||||
},
|
||||
}),
|
||||
asTick.create('Post', {
|
||||
id: 'p3',
|
||||
categoryIds: ['cat3'],
|
||||
}),
|
||||
asTrick.create('Post', {
|
||||
id: 'p4',
|
||||
categoryIds: ['cat4'],
|
||||
}),
|
||||
asTrack.create('Post', {
|
||||
id: 'p5',
|
||||
categoryIds: ['cat5'],
|
||||
}),
|
||||
asAdmin.create('Post', {
|
||||
id: 'p6',
|
||||
image: faker.image.unsplash.buildings(),
|
||||
categoryIds: ['cat6'],
|
||||
}),
|
||||
asModerator.create('Post', {
|
||||
id: 'p7',
|
||||
content: `${mention1} ${faker.lorem.paragraph()}`,
|
||||
categoryIds: ['cat7'],
|
||||
}),
|
||||
asUser.create('Post', {
|
||||
id: 'p8',
|
||||
image: faker.image.unsplash.nature(),
|
||||
title: `Quantum Flow Theory explains Quantum Gravity`,
|
||||
content: `${hashtagAndMention1}`,
|
||||
categoryIds: ['cat8'],
|
||||
}),
|
||||
asTick.create('Post', {
|
||||
id: 'p9',
|
||||
categoryIds: ['cat9'],
|
||||
}),
|
||||
asTrick.create('Post', {
|
||||
id: 'p10',
|
||||
categoryIds: ['cat10'],
|
||||
}),
|
||||
asTrack.create('Post', {
|
||||
id: 'p11',
|
||||
image: faker.image.unsplash.people(),
|
||||
categoryIds: ['cat11'],
|
||||
}),
|
||||
asAdmin.create('Post', {
|
||||
id: 'p12',
|
||||
content: `${mention2} ${faker.lorem.paragraph()}`,
|
||||
categoryIds: ['cat12'],
|
||||
}),
|
||||
asModerator.create('Post', {
|
||||
id: 'p13',
|
||||
categoryIds: ['cat13'],
|
||||
}),
|
||||
asUser.create('Post', {
|
||||
id: 'p14',
|
||||
image: faker.image.unsplash.objects(),
|
||||
categoryIds: ['cat14'],
|
||||
}),
|
||||
asTick.create('Post', {
|
||||
id: 'p15',
|
||||
categoryIds: ['cat15'],
|
||||
}),
|
||||
])
|
||||
|
||||
await Promise.all([
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p0',
|
||||
to: 'Freiheit',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p1',
|
||||
to: 'Umwelt',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p2',
|
||||
to: 'Naturschutz',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p3',
|
||||
to: 'Demokratie',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p4',
|
||||
to: 'Freiheit',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p5',
|
||||
to: 'Umwelt',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p6',
|
||||
to: 'Naturschutz',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p7',
|
||||
to: 'Demokratie',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p8',
|
||||
to: 'Freiheit',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p9',
|
||||
to: 'Umwelt',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p10',
|
||||
to: 'Naturschutz',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p11',
|
||||
to: 'Demokratie',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p12',
|
||||
to: 'Freiheit',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p13',
|
||||
to: 'Umwelt',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p14',
|
||||
to: 'Naturschutz',
|
||||
}),
|
||||
f.relate('Post', 'Tags', {
|
||||
from: 'p15',
|
||||
to: 'Demokratie',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u1',
|
||||
to: 'p15',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u2',
|
||||
to: 'p15',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u3',
|
||||
to: 'p15',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u4',
|
||||
to: 'p15',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u5',
|
||||
to: 'p15',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u6',
|
||||
to: 'p15',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u7',
|
||||
to: 'p15',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u2',
|
||||
to: 'p14',
|
||||
data: 'cry',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u3',
|
||||
to: 'p13',
|
||||
data: 'angry',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u4',
|
||||
to: 'p12',
|
||||
data: 'funny',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u5',
|
||||
to: 'p11',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u6',
|
||||
to: 'p10',
|
||||
data: 'cry',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u5',
|
||||
to: 'p9',
|
||||
data: 'happy',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u4',
|
||||
to: 'p8',
|
||||
data: 'angry',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u3',
|
||||
to: 'p7',
|
||||
data: 'funny',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u2',
|
||||
to: 'p6',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u1',
|
||||
to: 'p5',
|
||||
data: 'cry',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u2',
|
||||
to: 'p4',
|
||||
data: 'happy',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u3',
|
||||
to: 'p3',
|
||||
data: 'angry',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u4',
|
||||
to: 'p2',
|
||||
data: 'funny',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u5',
|
||||
to: 'p1',
|
||||
data: 'surprised',
|
||||
}),
|
||||
f.emote({
|
||||
from: 'u6',
|
||||
to: 'p0',
|
||||
data: 'cry',
|
||||
}),
|
||||
])
|
||||
|
||||
await Promise.all([
|
||||
asAdmin.shout({
|
||||
id: 'p2',
|
||||
type: 'Post',
|
||||
}),
|
||||
asAdmin.shout({
|
||||
id: 'p6',
|
||||
type: 'Post',
|
||||
}),
|
||||
asModerator.shout({
|
||||
id: 'p0',
|
||||
type: 'Post',
|
||||
}),
|
||||
asModerator.shout({
|
||||
id: 'p6',
|
||||
type: 'Post',
|
||||
}),
|
||||
asUser.shout({
|
||||
id: 'p6',
|
||||
type: 'Post',
|
||||
}),
|
||||
asUser.shout({
|
||||
id: 'p7',
|
||||
type: 'Post',
|
||||
}),
|
||||
asTick.shout({
|
||||
id: 'p8',
|
||||
type: 'Post',
|
||||
}),
|
||||
asTick.shout({
|
||||
id: 'p9',
|
||||
type: 'Post',
|
||||
}),
|
||||
asTrack.shout({
|
||||
id: 'p10',
|
||||
type: 'Post',
|
||||
}),
|
||||
])
|
||||
await Promise.all([
|
||||
asAdmin.shout({
|
||||
id: 'p2',
|
||||
type: 'Post',
|
||||
}),
|
||||
asAdmin.shout({
|
||||
id: 'p6',
|
||||
type: 'Post',
|
||||
}),
|
||||
asModerator.shout({
|
||||
id: 'p0',
|
||||
type: 'Post',
|
||||
}),
|
||||
asModerator.shout({
|
||||
id: 'p6',
|
||||
type: 'Post',
|
||||
}),
|
||||
asUser.shout({
|
||||
id: 'p6',
|
||||
type: 'Post',
|
||||
}),
|
||||
asUser.shout({
|
||||
id: 'p7',
|
||||
type: 'Post',
|
||||
}),
|
||||
asTick.shout({
|
||||
id: 'p8',
|
||||
type: 'Post',
|
||||
}),
|
||||
asTick.shout({
|
||||
id: 'p9',
|
||||
type: 'Post',
|
||||
}),
|
||||
asTrack.shout({
|
||||
id: 'p10',
|
||||
type: 'Post',
|
||||
mutate({
|
||||
mutation: createPostMutation,
|
||||
variables: {
|
||||
id: 'p12',
|
||||
title: 'This is post #12',
|
||||
content: `${mention2} ${faker.lorem.paragraph()}`,
|
||||
categoryIds: ['cat12'],
|
||||
},
|
||||
}),
|
||||
])
|
||||
const [p2, p7, p8, p12] = await Promise.all(
|
||||
['p2', 'p7', 'p8', 'p12'].map(id => neode.find('Post', id)),
|
||||
)
|
||||
authenticatedUser = null
|
||||
|
||||
authenticatedUser = await dewey.toJson()
|
||||
const mentionInComment1 =
|
||||
'I heard <a class="mention" data-mention-id="u3" href="/profile/u3">@jenny-rostock</a>, practice it since 3 years now.'
|
||||
const mentionInComment2 =
|
||||
'Did <a class="mention" data-mention-id="u1" href="/profile/u1">@peter-lustig</a> told you?'
|
||||
const createCommentMutation = gql`
|
||||
mutation($id: ID, $postId: ID!, $content: String!) {
|
||||
CreateComment(id: $id, postId: $postId, content: $content) {
|
||||
id
|
||||
}
|
||||
}
|
||||
`
|
||||
await Promise.all([
|
||||
mutate({
|
||||
mutation: createCommentMutation,
|
||||
variables: {
|
||||
id: 'c4',
|
||||
postId: 'p2',
|
||||
content: mentionInComment1,
|
||||
},
|
||||
}),
|
||||
mutate({
|
||||
mutation: createCommentMutation,
|
||||
variables: {
|
||||
id: 'c4-1',
|
||||
postId: 'p2',
|
||||
content: mentionInComment2,
|
||||
},
|
||||
}),
|
||||
mutate({
|
||||
mutation: createCommentMutation,
|
||||
variables: {
|
||||
postId: 'p14',
|
||||
content: faker.lorem.paragraph(),
|
||||
},
|
||||
}), // should send a notification
|
||||
])
|
||||
authenticatedUser = null
|
||||
|
||||
await Promise.all([
|
||||
asUser.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: jennyRostock,
|
||||
id: 'c1',
|
||||
postId: 'p1',
|
||||
}),
|
||||
asTick.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: huey,
|
||||
id: 'c2',
|
||||
postId: 'p1',
|
||||
}),
|
||||
asTrack.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: louie,
|
||||
id: 'c3',
|
||||
postId: 'p3',
|
||||
}),
|
||||
asTrick.create('Comment', {
|
||||
id: 'c4',
|
||||
postId: 'p2',
|
||||
content: `${mentionInComment1}`,
|
||||
}),
|
||||
asUser.create('Comment', {
|
||||
id: 'c4-1',
|
||||
postId: 'p2',
|
||||
content: `${mentionInComment2}`,
|
||||
}),
|
||||
asModerator.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: bobDerBaumeister,
|
||||
id: 'c5',
|
||||
postId: 'p3',
|
||||
}),
|
||||
asAdmin.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: peterLustig,
|
||||
id: 'c6',
|
||||
postId: 'p4',
|
||||
}),
|
||||
asUser.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: jennyRostock,
|
||||
id: 'c7',
|
||||
postId: 'p2',
|
||||
}),
|
||||
asTick.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: huey,
|
||||
id: 'c8',
|
||||
postId: 'p15',
|
||||
}),
|
||||
asTrick.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: dewey,
|
||||
id: 'c9',
|
||||
postId: 'p15',
|
||||
}),
|
||||
asTrack.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: louie,
|
||||
id: 'c10',
|
||||
postId: 'p15',
|
||||
}),
|
||||
asUser.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: jennyRostock,
|
||||
id: 'c11',
|
||||
postId: 'p15',
|
||||
}),
|
||||
asUser.create('Comment', {
|
||||
factory.create('Comment', {
|
||||
author: jennyRostock,
|
||||
id: 'c12',
|
||||
postId: 'p15',
|
||||
}),
|
||||
])
|
||||
|
||||
const disableMutation = 'mutation($id: ID!) { disable(id: $id) }'
|
||||
await Promise.all([
|
||||
asModerator.mutate(disableMutation, {
|
||||
id: 'p11',
|
||||
}),
|
||||
asModerator.mutate(disableMutation, {
|
||||
id: 'c5',
|
||||
}),
|
||||
democracy.relateTo(p3, 'post'),
|
||||
democracy.relateTo(p11, 'post'),
|
||||
democracy.relateTo(p15, 'post'),
|
||||
democracy.relateTo(p7, 'post'),
|
||||
environment.relateTo(p1, 'post'),
|
||||
environment.relateTo(p5, 'post'),
|
||||
environment.relateTo(p9, 'post'),
|
||||
environment.relateTo(p13, 'post'),
|
||||
freedom.relateTo(p0, 'post'),
|
||||
freedom.relateTo(p4, 'post'),
|
||||
freedom.relateTo(p8, 'post'),
|
||||
freedom.relateTo(p12, 'post'),
|
||||
nature.relateTo(p2, 'post'),
|
||||
nature.relateTo(p6, 'post'),
|
||||
nature.relateTo(p10, 'post'),
|
||||
nature.relateTo(p14, 'post'),
|
||||
peterLustig.relateTo(p15, 'emoted', { emotion: 'surprised' }),
|
||||
bobDerBaumeister.relateTo(p15, 'emoted', { emotion: 'surprised' }),
|
||||
jennyRostock.relateTo(p15, 'emoted', { emotion: 'surprised' }),
|
||||
huey.relateTo(p15, 'emoted', { emotion: 'surprised' }),
|
||||
dewey.relateTo(p15, 'emoted', { emotion: 'surprised' }),
|
||||
louie.relateTo(p15, 'emoted', { emotion: 'surprised' }),
|
||||
dagobert.relateTo(p15, 'emoted', { emotion: 'surprised' }),
|
||||
bobDerBaumeister.relateTo(p14, 'emoted', { emotion: 'cry' }),
|
||||
jennyRostock.relateTo(p13, 'emoted', { emotion: 'angry' }),
|
||||
huey.relateTo(p12, 'emoted', { emotion: 'funny' }),
|
||||
dewey.relateTo(p11, 'emoted', { emotion: 'surprised' }),
|
||||
louie.relateTo(p10, 'emoted', { emotion: 'cry' }),
|
||||
dewey.relateTo(p9, 'emoted', { emotion: 'happy' }),
|
||||
huey.relateTo(p8, 'emoted', { emotion: 'angry' }),
|
||||
jennyRostock.relateTo(p7, 'emoted', { emotion: 'funny' }),
|
||||
bobDerBaumeister.relateTo(p6, 'emoted', { emotion: 'surprised' }),
|
||||
peterLustig.relateTo(p5, 'emoted', { emotion: 'cry' }),
|
||||
bobDerBaumeister.relateTo(p4, 'emoted', { emotion: 'happy' }),
|
||||
jennyRostock.relateTo(p3, 'emoted', { emotion: 'angry' }),
|
||||
huey.relateTo(p2, 'emoted', { emotion: 'funny' }),
|
||||
dewey.relateTo(p1, 'emoted', { emotion: 'surprised' }),
|
||||
louie.relateTo(p0, 'emoted', { emotion: 'cry' }),
|
||||
])
|
||||
|
||||
await Promise.all([
|
||||
asTick.create('Report', {
|
||||
description: "I don't like this comment",
|
||||
id: 'c1',
|
||||
}),
|
||||
asTrick.create('Report', {
|
||||
description: "I don't like this post",
|
||||
id: 'p1',
|
||||
}),
|
||||
asTrack.create('Report', {
|
||||
description: "I don't like this user",
|
||||
id: 'u1',
|
||||
}),
|
||||
peterLustig.relateTo(p1, 'shouted'),
|
||||
peterLustig.relateTo(p6, 'shouted'),
|
||||
bobDerBaumeister.relateTo(p0, 'shouted'),
|
||||
bobDerBaumeister.relateTo(p6, 'shouted'),
|
||||
jennyRostock.relateTo(p6, 'shouted'),
|
||||
jennyRostock.relateTo(p7, 'shouted'),
|
||||
huey.relateTo(p8, 'shouted'),
|
||||
huey.relateTo(p9, 'shouted'),
|
||||
dewey.relateTo(p10, 'shouted'),
|
||||
peterLustig.relateTo(p2, 'shouted'),
|
||||
peterLustig.relateTo(p6, 'shouted'),
|
||||
bobDerBaumeister.relateTo(p0, 'shouted'),
|
||||
bobDerBaumeister.relateTo(p6, 'shouted'),
|
||||
jennyRostock.relateTo(p6, 'shouted'),
|
||||
jennyRostock.relateTo(p7, 'shouted'),
|
||||
huey.relateTo(p8, 'shouted'),
|
||||
huey.relateTo(p9, 'shouted'),
|
||||
louie.relateTo(p10, 'shouted'),
|
||||
])
|
||||
|
||||
const disableMutation = gql`
|
||||
mutation($id: ID!) {
|
||||
disable(id: $id)
|
||||
}
|
||||
`
|
||||
authenticatedUser = await bobDerBaumeister.toJson()
|
||||
await Promise.all([
|
||||
f.relate('Organization', 'CreatedBy', {
|
||||
from: 'u1',
|
||||
to: 'o1',
|
||||
mutate({
|
||||
mutation: disableMutation,
|
||||
variables: {
|
||||
id: 'p11',
|
||||
},
|
||||
}),
|
||||
f.relate('Organization', 'CreatedBy', {
|
||||
from: 'u1',
|
||||
to: 'o2',
|
||||
}),
|
||||
f.relate('Organization', 'OwnedBy', {
|
||||
from: 'u2',
|
||||
to: 'o2',
|
||||
}),
|
||||
f.relate('Organization', 'OwnedBy', {
|
||||
from: 'u2',
|
||||
to: 'o3',
|
||||
mutate({
|
||||
mutation: disableMutation,
|
||||
variables: {
|
||||
id: 'c5',
|
||||
},
|
||||
}),
|
||||
])
|
||||
authenticatedUser = null
|
||||
|
||||
const reportMutation = gql`
|
||||
mutation($id: ID!, $description: String!) {
|
||||
report(description: $description, id: $id) {
|
||||
id
|
||||
}
|
||||
}
|
||||
`
|
||||
authenticatedUser = await huey.toJson()
|
||||
await Promise.all([
|
||||
mutate({
|
||||
mutation: reportMutation,
|
||||
variables: {
|
||||
description: "I don't like this comment",
|
||||
id: 'c1',
|
||||
},
|
||||
}),
|
||||
mutate({
|
||||
mutation: reportMutation,
|
||||
variables: {
|
||||
description: "I don't like this post",
|
||||
id: 'p1',
|
||||
},
|
||||
}),
|
||||
mutate({
|
||||
mutation: reportMutation,
|
||||
variables: {
|
||||
description: "I don't like this user",
|
||||
id: 'u1',
|
||||
},
|
||||
}),
|
||||
])
|
||||
authenticatedUser = null
|
||||
|
||||
await Promise.all(
|
||||
[...Array(30).keys()].map(i => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user