diff --git a/backend/package.json b/backend/package.json index f1797dd61..c4ec42298 100644 --- a/backend/package.json +++ b/backend/package.json @@ -42,7 +42,7 @@ "type-graphql": "^1.1.1" }, "devDependencies": { - "@types/express": "^4.17.12", + "@types/faker": "^5.5.9", "@types/jsonwebtoken": "^8.5.2", "@types/node": "^16.10.3", "@types/nodemailer": "^6.4.4", @@ -55,6 +55,7 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-promise": "^5.1.0", + "faker": "^5.5.3", "nodemon": "^2.0.7", "prettier": "^2.3.1", "ts-node": "^10.0.0", diff --git a/backend/src/seeds/index.ts b/backend/src/seeds/index.ts index 3bad52642..b68bcbdd9 100644 --- a/backend/src/seeds/index.ts +++ b/backend/src/seeds/index.ts @@ -4,6 +4,8 @@ import createServer from '../server/createServer' import { createTestClient } from 'apollo-server-testing' +import { name, internet, random } from 'faker' + import { users } from './users/index' import { createUserFactory } from './factory/user' import { entities } from '@entity/index' @@ -41,10 +43,21 @@ const run = async () => { const { con } = server await cleanDB() + // seed the standard users for (let i = 0; i < users.length; i++) { await createUserFactory(mutate, users[i]) } + // seed 100 random users + for (let i = 0; i < 100; i++) { + await createUserFactory(mutate, { + firstName: name.firstName(), + lastName: name.lastName(), + email: internet.email(), + language: random.boolean() ? 'en' : 'de', + }) + } + await con.close() } diff --git a/backend/src/seeds/users/garrick-ollivander.ts b/backend/src/seeds/users/garrick-ollivander.ts new file mode 100644 index 000000000..264a866bd --- /dev/null +++ b/backend/src/seeds/users/garrick-ollivander.ts @@ -0,0 +1,12 @@ +import { UserInterface } from './UserInterface' + +export const garrickOllivander: UserInterface = { + email: 'garrick@ollivander.com', + firstName: 'Garrick', + lastName: 'Ollivander', + // description: `Curious ... curious ... + // Renowned wandmaker Mr Ollivander owns the wand shop Ollivanders: Makers of Fine Wands Since 382 BC in Diagon Alley. His shop is widely considered the best place to purchase a wand.`, + createdAt: new Date('2022-01-10T10:23:17'), + emailChecked: false, + language: 'en', +} diff --git a/backend/src/seeds/users/index.ts b/backend/src/seeds/users/index.ts index 76e242f84..7a6dbe519 100644 --- a/backend/src/seeds/users/index.ts +++ b/backend/src/seeds/users/index.ts @@ -3,5 +3,13 @@ import { bibiBloxberg } from './bibi-bloxberg' import { bobBaumeister } from './bob-baumeister' import { raeuberHotzenplotz } from './raeuber-hotzenplotz' import { stephenHawking } from './stephen-hawking' +import { garrickOllivander } from './garrick-ollivander' -export const users = [peterLustig, bibiBloxberg, bobBaumeister, raeuberHotzenplotz, stephenHawking] +export const users = [ + peterLustig, + bibiBloxberg, + bobBaumeister, + raeuberHotzenplotz, + stephenHawking, + garrickOllivander, +] diff --git a/backend/yarn.lock b/backend/yarn.lock index 330a6d590..ee6b2d679 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -811,6 +811,11 @@ "@types/qs" "*" "@types/serve-static" "*" +"@types/faker@^5.5.9": + version "5.5.9" + resolved "https://registry.yarnpkg.com/@types/faker/-/faker-5.5.9.tgz#588ede92186dc557bff8341d294335d50d255f0c" + integrity sha512-uCx6mP3UY5SIO14XlspxsGjgaemrxpssJI0Ol+GfhxtcKpv9pgRZYsS4eeKeHVLje6Qtc8lGszuBI461+gVZBA== + "@types/fs-capacitor@*": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz#17113e25817f584f58100fb7a08eed288b81956e" @@ -2510,6 +2515,11 @@ express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" +faker@^5.5.3: + version "5.5.3" + resolved "https://registry.yarnpkg.com/faker/-/faker-5.5.3.tgz#c57974ee484431b25205c2c8dc09fda861e51e0e" + integrity sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"