Seed follow relations between users

This commit is contained in:
Robert Schäfer 2019-02-18 23:49:54 +01:00
parent f9083c8d4b
commit e51817c849
4 changed files with 17 additions and 33 deletions

View File

@ -1,6 +1,5 @@
export default {
UserFollows: require('./users-follows.js').default,
UserFriends: require('./users-friends.js').default,
Organization: require('./organizations.js').default,

View File

@ -1,26 +0,0 @@
export default function (data) {
return `
mutation {
u1_follow_u2: AddUserFollowing(
from: { id: "u1" },
to: { id: "u2" }
) { from { id } }
u2_follow_u1: AddUserFollowing(
from: { id: "u2" },
to: { id: "u1" }
) { from { id } }
u2_follow_u3: AddUserFollowing(
from: { id: "u2" },
to: { id: "u3" }
) { from { id } }
u2_follow_u4: AddUserFollowing(
from: { id: "u2" },
to: { id: "u4" }
) { from { id } }
u4_follow_u2: AddUserFollowing(
from: { id: "u4" },
to: { id: "u2" }
) { from { id } }
}
`
}

View File

@ -10,6 +10,7 @@ export default function (params) {
avatar = faker.internet.avatar(),
badgeIds = [],
blacklistedUserIds = [],
followedUserIds = [],
disabled = false,
deleted = false
} = params
@ -32,6 +33,15 @@ export default function (params) {
`
})
const followedUserRelations = followedUserIds.map((followedUserId) => {
return `
${id}_follow_${followedUserId}: AddUserFollowing(
from: { id: "${id}" },
to: { id: "${followedUserId}" }
) { from { id } }
`
});
return `
mutation {
${id}: CreateUser(
@ -51,6 +61,7 @@ export default function (params) {
}
${badgeRelations.join('\n')}
${blacklistedUserRelations.join('\n')}
${followedUserRelations.join('\n')}
}
`
}

View File

@ -17,12 +17,12 @@ import seed from './data'
])
await Promise.all([
create('user', { id: 'u1', name: 'Peter Lustig', role: 'admin', badgeIds: ['b6'], email: 'admin@example.org' }),
create('user', { id: 'u2', name: 'Bob der Baumeister', role: 'moderator', badgeIds: ['b5'], email: 'moderator@example.org' }),
create('user', { id: 'u3', name: 'Jenny Rostock', role: 'user', badgeIds: ['b4'], email: 'user@example.org' }),
create('user', { id: 'u4', name: 'Tick', role: 'user', badgeIds: ['b3'], email: 'tick@example.org' }),
create('user', { id: 'u5', name: 'Trick', role: 'user', badgeIds: ['b2'], email: 'trick@example.org' }),
create('user', { id: 'u6', name: 'Track', role: 'user', badgeIds: ['b1'], email: 'track@example.org' }),
create('user', { id: 'u1', name: 'Peter Lustig', role: 'admin', followedUserIds: [ ], badgeIds: ['b6'], email: 'admin@example.org' }),
create('user', { id: 'u2', name: 'Bob der Baumeister', role: 'moderator', followedUserIds: ['u1'], badgeIds: ['b5'], email: 'moderator@example.org' }),
create('user', { id: 'u3', name: 'Jenny Rostock', role: 'user', followedUserIds: ['u2'], badgeIds: ['b4'], email: 'user@example.org' }),
create('user', { id: 'u4', name: 'Tick', role: 'user', followedUserIds: ['u3'], badgeIds: ['b3'], email: 'tick@example.org' }),
create('user', { id: 'u5', name: 'Trick', role: 'user', followedUserIds: ['u4'], badgeIds: ['b2'], email: 'trick@example.org' }),
create('user', { id: 'u6', name: 'Track', role: 'user', followedUserIds: ['u5'], badgeIds: ['b1'], email: 'track@example.org' }),
create('user', { id: 'u7', name: 'Dagobert', role: 'user', badgeIds: ['b1', 'b2'], blacklistedUserIds: ['u4', 'u5', 'u6'], email: 'dagobert@example.org' })
])