feat(tools): add fully certified development user (#40181)

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
This commit is contained in:
Shaun Hamilton
2020-12-03 15:45:45 +00:00
committed by GitHub
parent bfc4c33b0c
commit c75b28faf2
4 changed files with 4805 additions and 130 deletions

View File

@ -3,7 +3,7 @@
describe('Top contributor in user profile', () => {
before(() => {
cy.clearCookies();
cy.exec('npm run seed:auth-user -- --top-contributor');
cy.exec('npm run seed -- --top-contributor');
});
after(() => {

View File

@ -43,8 +43,8 @@
"lint:css": "npm run prettier -- --check",
"prettier": "prettier \"**/*.css\"",
"postinstall": "npm run bootstrap",
"seed": "npm-run-all -p seed:*",
"seed:auth-user": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/seedAuthUser",
"seed": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/seedAuthUser",
"seed:certified-user": "cross-env DEBUG=fcc:* node ./tools/scripts/seed/seedAuthUser certUser",
"serve:client": "cd ./client && npm run serve",
"start": "npm-run-all ensure-env -p develop:server serve:client",
"test": "npm-run-all -p test:*",

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,5 @@
const fullyCertifiedUser = require('./certifiedUserData');
const path = require('path');
require('dotenv').config({ path: path.resolve(__dirname, '../../../.env') });
const MongoClient = require('mongodb').MongoClient;
@ -26,28 +28,8 @@ function handleError(err, client) {
}
}
MongoClient.connect(MONGOHQ_URL, { useNewUrlParser: true }, (err, client) => {
handleError(err, client);
log('Connected successfully to mongo');
const db = client.db('freecodecamp');
const user = db.collection('user');
user.deleteMany(
{
_id: {
$in: [
ObjectId('5bd30e0f1caf6ac3ddddddb5'),
ObjectId('5bd30e0f1caf6ac3ddddddb9')
]
}
},
err => {
handleError(err, client);
try {
user.insertOne({
/* eslint-disable max-len */
const authUser = {
_id: ObjectId('5bd30e0f1caf6ac3ddddddb5'),
email: 'foo@bar.com',
emailVerified: true,
@ -104,9 +86,8 @@ MongoClient.connect(MONGOHQ_URL, { useNewUrlParser: true }, (err, client) => {
isDonating: envVariables.includes('--donor'),
emailAuthLinkTTL: null,
emailVerifyTTL: null
});
user.insertOne({
};
const blankUser = {
_id: ObjectId('5bd30e0f1caf6ac3ddddddb9'),
email: 'bar@bar.com',
emailVerified: true,
@ -161,7 +142,45 @@ MongoClient.connect(MONGOHQ_URL, { useNewUrlParser: true }, (err, client) => {
isDonating: false,
emailAuthLinkTTL: null,
emailVerifyTTL: null
};
MongoClient.connect(MONGOHQ_URL, { useNewUrlParser: true }, (err, client) => {
handleError(err, client);
log('Connected successfully to mongo');
const db = client.db('freecodecamp');
const user = db.collection('user');
if (process.argv[2] === 'certUser') {
user.deleteOne({ _id: ObjectId('5fa2db00a25c1c1fa49ce067') }, err => {
handleError(err, client);
try {
user.insertOne(fullyCertifiedUser);
} catch (e) {
handleError(e, client);
} finally {
log('local auth user seed complete');
client.close();
}
});
} else {
user.deleteMany(
{
_id: {
$in: [
ObjectId('5bd30e0f1caf6ac3ddddddb5'),
ObjectId('5bd30e0f1caf6ac3ddddddb9')
]
}
},
err => {
handleError(err, client);
try {
user.insertOne(authUser);
user.insertOne(blankUser);
} catch (e) {
handleError(e, client);
} finally {
@ -170,4 +189,5 @@ MongoClient.connect(MONGOHQ_URL, { useNewUrlParser: true }, (err, client) => {
}
}
);
}
});