app.get('/faker/random', function (req, res) { var fakerRandomDetails = { number: Faker.random.number(), //array_element: Faker.random.array_element(), city_prefix: Faker.random.city_prefix(), city_suffix: Faker.random.city_suffix(), street_suffix: Faker.random.street_suffix(), br_state: Faker.random.br_state(), br_state_abbr: Faker.random.br_state_abbr(), us_state: Faker.random.us_state(), us_state_abbr: Faker.random.us_state_abbr(), uk_county: Faker.random.uk_county(), uk_country: Faker.random.uk_country(), first_name: Faker.random.first_name(), last_name: Faker.random.last_name(), name_prefix: Faker.random.name_prefix(), name_suffix: Faker.random.name_suffix(), catch_phrase_adjective: Faker.random.catch_phrase_adjective(), catch_phrase_descriptor: Faker.random.catch_phrase_descriptor(), catch_phrase_noun: Faker.random.catch_phrase_noun(), bs_adjective: Faker.random.bs_adjective(), bs_buzz: Faker.random.bs_buzz(), bs_noun: Faker.random.bs_noun(), phone_formats: Faker.random.phone_formats(), domain_suffix: Faker.random.domain_suffix(), avatar_uri: Faker.random.avatar_uri() }; res.json(fakerRandomDetails); });
function insertPerson() { var person = {}; person['first-name'] = Faker.Name.firstName(); person['last-name'] = Faker.Name.lastName(); person['title'] = Faker.random.bs_noun(); person['company'] = Faker.Company.companyName(); person['phone-work'] = Faker.PhoneNumber.phoneNumber(); person['phone-home'] = Faker.PhoneNumber.phoneNumber(); person['phone-mobile'] = Faker.PhoneNumber.phoneNumber(); person['city'] = Faker.Address.city(); person['state'] = Faker.Address.usState(); person['email'] = Faker.Internet.email(); db.save('contacts', '', person, {contentType: 'application/json'}); }
.then(function(categoryResults){ console.log('Saved categories: ', categoryResults.length); var tagSaves = []; var options = ['scale', 'binary', 'text']; var tagCategories = categoryResults.filter(function(category){ return category.type === 'Tag' }) // Populate 20 tags for(var i = 0; i < 10; i++) { var tag = { name: faker.random.bs_noun() + i, label: faker.random.catch_phrase_descriptor(), type: options[Math.floor(Math.random() * 3)], active: true, position: i, category: tagCategories[0]._id }; tagSaves.push(Tag.create(tag)); } for(var i = 0; i < 10; i++) { var tag = { name: faker.random.bs_noun() + i, label: faker.random.catch_phrase_descriptor(), type: options[Math.floor(Math.random() * 3)], active: true, position: i, category: tagCategories[1]._id }; tagSaves.push(Tag.create(tag)); } console.log('Saving tags..'); Q.all(tagSaves) .then(function(results) { console.log('Saved tags: ', results.length); var userSaves = []; Tag.find(function(err, tags) { var userTags = []; userTags = tags.map(function(item){ var tag; if (item.type === 'binary') { tag = { tag : item._id, value : Math.random() > 0.5 ? "yes" : "no", }; } else if (item.type === 'scale') { tag = { tag : item._id, value : String(Math.floor(Math.random() * 4 + 1)) }; } else if (item.type === 'text') { tag = { tag : item._id, value : faker.Lorem.sentence() }; } return tag; }); // create admin var admin = { email: '*****@*****.**', password: '******', name: faker.Name.findName(), github: 'github.com/' + faker.Name.firstName(), linkedin: 'linkedin.com/in/' + faker.Name.firstName(), isAdmin: true, isRegistered: Math.random() > 0.5 ? true : false, searchStage: 'Early', city: 'San Francisco', state: 'CA', country: 'USA', tags: userTags, category: categoryResults[Math.floor(Math.random() * categoryResults.length)]._id }; var testUser = { email: '*****@*****.**', password: '******', name: faker.Name.findName(), github: 'github.com/' + faker.Name.firstName(), linkedin: 'linkedin.com/in/' + faker.Name.firstName(), isAdmin: false, isRegistered: Math.random() > 0.5 ? true : false, searchStage: 'Early', city: 'San Francisco', state: 'CA', country: 'USA', tags: userTags, category: categoryResults[Math.floor(Math.random() * categoryResults.length)]._id }; userSaves.push(User.create(admin)); userSaves.push(User.create(testUser)); // Populate users for(var i = 0; i < 20; i++) { var user = { email: faker.Internet.email(), password: '******', name: faker.Name.findName(), github: 'github.com/' + faker.Name.firstName(), linkedin: 'linkedin.com/in/' + faker.Name.firstName(), isAdmin: false, isRegistered: Math.random() > 0.5 ? true : false, searchStage: 'Early', city: 'San Francisco', state: 'CA', country: 'USA', tags: userTags, category: categoryResults[Math.floor(Math.random() * categoryResults.length)]._id }; userSaves.push(User.create(user)); } console.log('Saving users.. '); Q.all(userSaves) .then(function(userResults) { console.log('Saved users: ', userResults.length); var companySaves = []; // Create companies for(var j = 0; j < 10; j++) { var company = { name: faker.Company.companyName(), tagline: faker.Company.catchPhrase(), description: faker.Company.bs(), address: faker.Address.streetAddress(), city: faker.Address.city(), state: faker.Address.usState(), country: faker.Address.ukCountry(), geo: [faker.random.number(1,100), faker.random.number(1,100)], media: [{caption : faker.random.catch_phrase_descriptor(), url : faker.Image.imageUrl()}], links: [{title : faker.random.catch_phrase_descriptor(), url : faker.Image.imageUrl()}] }; companySaves.push(Company.create(company)); } console.log('Saving companies.. '); Q.all(companySaves) .then(function(companyResults){ console.log('Saved companies: ', companyResults.length); var opportunitySaves = []; var stageEnum = [ 'Offer Accepted', 'Offer Received', 'On-Site Interview', 'Phone Interview' ]; for(var i = 0; i < 20; i++) { var index = Math.floor(Math.random() * companyResults.length); var opportunity = { active: true, company: companyResults[index]._id, jobTitle: faker.Company.bs(), description: faker.Company.catchPhrase(), tags: userTags, links: [{title : faker.random.catch_phrase_descriptor(), url : faker.Image.imageUrl()}], notes: [{date : new Date(), text : faker.Lorem.sentence()}], internalNotes: [{date : new Date(), text : faker.Lorem.sentence()}], questions: [{date : new Date(), question : faker.Lorem.sentence()}], survey: [{ user: userResults[Math.floor(Math.random() * userResults.length)]._id, salary: faker.random.number(80000, 160000), notes: [faker.Lorem.sentence(),faker.Lorem.sentence()], stage: stageEnum[Math.floor(Math.random() * stageEnum.length)] }], category: categoryResults[Math.floor(Math.random() * categoryResults.length)]._id }; opportunitySaves.push(Opportunity.create(opportunity)); // UPDATE COMPANIES WITH OPPERTUNITY } console.log('Saving opportunities.. '); Q.all(opportunitySaves) .then(function(opportunityResults) { console.log('Saved opportunities: ', opportunityResults.length); }, function(error){ console.log(error); }); }); }); }); }); });
app.get( "/", function( req, res ) { makeClient.create({ title: faker.random.catch_phrase_adjective() + " " + faker.random.bs_adjective() + " " + faker.random.bs_noun(), author: faker.Name.findName(), description: faker.Lorem.paragraph(), thumbnail: "http://www.lorempixel.com/640/350/" + faker.Helpers.randomize( IMG_CATEGORIES ) + "/" + faker.random.number( 10 ), contentType: faker.Helpers.randomize( [ "application/x-butter", "application/x-thimble", "text/html" ] ), locale: faker.Helpers.randomize(["en_us","en_ca","en_gb"]), url: "http://www.webmaker.org/" + faker.random.number( 99999999999 ), remixedFrom: null, email: faker.Helpers.randomize([ "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", faker.Internet.email() ]), tags: [ "test:project", "test:featured" ] }, function( error, result ) { if ( !error ) { res.send(JSON.stringify( result, null, 2 ) ); } }); });
function createFake() { var fakeData = {}; fakeData.title = Faker.random.catch_phrase_adjective() + " " + Faker.random.bs_adjective() + " " + Faker.random.bs_noun(); fakeData.author = createName(); fakeData.description = Faker.Lorem.paragraph(); fakeData.thumbnail = "http://www.lorempixel.com/640/350/" + Faker.Helpers.randomize( IMG_CATEGORIES ) + "/" + Faker.random.number( 10 ); fakeData.contentType = Faker.Helpers.randomize( [ "application/x-butter", "application/x-thimble", "text/html" ] ); fakeData.locale = Faker.Helpers.randomize(["en_us","en_ca","en_gb"]); fakeData.url = "http://www.webmaker.org/" + Faker.random.number( 99999999999 ); fakeData.tags = []; fakeData.email = createEmail(); // Type fakeData.tags.push( "makeType:" + Faker.Helpers.randomize( [ "thimble", "popcorn", "challenge", "event", "kit", "demo" ] ) ); // Featured? maybe( 5, function() { fakeData.tags.push( "featured" ); }); maybe( 10, function() { fakeData.tags.push( "tutorial" ); }); return fakeData; }
function done() { task.done() .details('https://github.com/' + Faker.Internet.domainWord() + '/' + Faker.random.bs_noun()); return Q.defer().promise; }
.then(function(categoryResults){ console.log('Saved categories: ', categoryResults.length); var tagSaves = []; // Populate 20 tags for(var i = 0; i < 20; i++) { var tag = { name: faker.random.bs_noun() + i, label: faker.random.catch_phrase_descriptor(), scaleDescription: [null,'None', 'Basic', 'Experienced', 'Expert'], category: categoryResults[Math.floor(Math.random() * categoryResults.length)]._id }; tagSaves.push(Tag.create(tag)); } console.log('Saving tags..'); Q.all(tagSaves) .then(function(results) { console.log('Saved tags: ', results.length); var userSaves = []; Tag.find(function(err, tags) { var userTags = []; userTags = tags.map(function(item){ var tag = { tag : item._id, score : Math.floor(Math.random() * 4) }; return tag; }); // Populate users for(var i = 0; i < 20; i++) { var user = { email: faker.Internet.email(), password: '******', name: faker.Name.findName(), github: 'github.com/' + faker.Name.firstName(), linkedin: 'linkedin.com/in/' + faker.Name.firstName(), isAdmin: false, isRegistered: true, searchStage: 'Early', city: 'San Francisco', state: 'CA', country: 'USA', tags: userTags, category: categoryResults[Math.floor(Math.random() * categoryResults.length)]._id }; userSaves.push(User.create(user)); } console.log('Saving users.. '); Q.all(userSaves) .then(function(userResults) { console.log('Saved users: ', userResults.length); var companySaves = []; // Create companies for(var j = 0; j < 10; j++) { var company = { name: faker.Company.companyName(), tagline: faker.Company.catchPhrase(), description: faker.Company.bs(), address: faker.Address.streetAddress(), city: faker.Address.city(), state: faker.Address.usState(), country: faker.Address.ukCountry(), geo: [faker.random.number(1,100), faker.random.number(1,100)], media: [{caption : faker.random.catch_phrase_descriptor(), url : faker.Image.imageUrl()}], links: [{title : faker.random.catch_phrase_descriptor(), url : faker.Image.imageUrl()}] }; companySaves.push(Company.create(company)); } console.log('Saving companies.. '); Q.all(companySaves) .then(function(companyResults){ console.log('Saved companies: ', companyResults.length); var opportunitySaves = []; var stageEnum = [ 'Offer Accepted', 'Offer Received', 'On-Site Interview', 'Phone Interview' ]; for(var i = 0; i < 20; i++) { var index = Math.floor(Math.random() * companyResults.length); var opportunity = { active: true, company: companyResults[index]._id, jobTitle: faker.Company.bs(), description: faker.Company.catchPhrase(), tags: userTags, links: [{title : faker.random.catch_phrase_descriptor(), url : faker.Image.imageUrl()}], notes: [{date : new Date(), text : faker.Lorem.sentence()}], internalNotes: [{date : new Date(), text : faker.Lorem.sentence()}], questions: [{date : new Date(), question : faker.Lorem.sentence()}], survey: [{ user: userResults[Math.floor(Math.random() * userResults.length)]._id, salary: faker.random.number(80000, 160000), notes: [faker.Lorem.sentence(),faker.Lorem.sentence()], stage: stageEnum[Math.floor(Math.random() * stageEnum.length)] }], category: categoryResults[Math.floor(Math.random() * categoryResults.length)]._id }; opportunitySaves.push(Opportunity.create(opportunity)); // UPDATE COMPANIES WITH OPPERTUNITY } console.log('Saving opportunities.. '); Q.all(opportunitySaves) .then(function(opportunityResults) { console.log('Saved opportunities: ', opportunityResults.length); }, function(error){ console.log(error); }); }); }); }); }); });