diff --git a/api.test.js b/api.test.js index 72479da..e1d5f53 100644 --- a/api.test.js +++ b/api.test.js @@ -1,6 +1,4 @@ const request = require('superagent'); -const brewData = require('./server/brew.data.js'); - const path = 'localhost:8000'; request.post(`${path}/api/brew`) @@ -9,29 +7,21 @@ request.post(`${path}/api/brew`) }) .end((err, res) => { console.log(err, res && res.body); + }); - console.log('creaitng brew'); - //creating brew +///////// + +const db = require('./server/db.js'); +const brewData = require('./server/brew.data.js'); + + +db.connect() + .then(()=>{ brewData.create({ - text : 'yeah yeah' + text : 'test' }) - .then((brew) => { - console.log(brew); - }) - .catch((e) => { - console.log(e); - }) - - /* - res.body.text = 'check it'; - brewData.update(res.body) - .then((newBrew) => { - console.log(newBrew); - }) - .catch((e) => { - console.log(e); - }) - */ - }) - + .then((brew)=>{ + console.log(brew); + }) + }) \ No newline at end of file diff --git a/client/homebrew/homebrew.jsx b/client/homebrew/homebrew.jsx index d2f3032..8a16248 100644 --- a/client/homebrew/homebrew.jsx +++ b/client/homebrew/homebrew.jsx @@ -13,6 +13,13 @@ const NewPage = require('./pages/newPage/newPage.jsx'); //const ErrorPage = require('./pages/errorPage/errorPage.jsx'); const PrintPage = require('./pages/printPage/printPage.jsx'); +const mapObject = (names, obj) => { + return _.reduce(names, (r, name) => { + if(obj[name]) r[name] = obj[name]; + return r; + }, {}); +}; + let Router; const Homebrew = React.createClass({ getDefaultProps: function() { @@ -21,7 +28,7 @@ const Homebrew = React.createClass({ version : '0.0.0', user : undefined, - brew : {}, + brew : undefined, brews : [] }; }, @@ -30,11 +37,9 @@ const Homebrew = React.createClass({ global.account = this.props.account; global.version = this.props.version; - Actions.init({ - version : this.props.version, - brew : this.props.brew, - account : this.props.account - }); + console.log(mapObject(['version', 'brew', 'account'], this.props)); + + Actions.init(mapObject(['version', 'brew', 'account'], this.props)); Router = CreateRouter({ diff --git a/package.json b/package.json index 5fd621e..f5e8da9 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "prod": "set NODE_ENV=production&& npm run build", "postinstall": "npm run build", "start": "node server.js", - "test": "mocha --recursive test" + "test": "mocha test" }, "author": "stolksdorf", "license": "MIT", diff --git a/server.js b/server.js index 4121a26..0f48abe 100644 --- a/server.js +++ b/server.js @@ -1,4 +1,3 @@ -const _ = require('lodash'); const express = require("express"); const app = express(); @@ -35,4 +34,6 @@ app.use(require('./server/error.js').expressHandler); const PORT = process.env.PORT || 8000; app.listen(PORT); -console.log(`server on port:${PORT}`); \ No newline at end of file +console.log(`server on port:${PORT}`); + +module.exports = app; \ No newline at end of file diff --git a/server/brew.data.js b/server/brew.data.js index 53ffc87..8c5d166 100644 --- a/server/brew.data.js +++ b/server/brew.data.js @@ -1,7 +1,6 @@ const _ = require('lodash'); const shortid = require('shortid'); -const mongoose = require('mongoose'); -mongoose.Promise = Promise; +const mongoose = require('./db.js').instance; const utils = require('./utils.js'); @@ -78,15 +77,22 @@ const BrewData = { return Brew.findOne(query).exec(); }, create : (brew) => { - console.log('here'); delete brew.shareId; delete brew.editId; if(!brew.title) brew.title = utils.getGoodBrewTitle(brew.text); const newBrew = new Brew(brew); - //TODO: add error decorators to the catches return newBrew.save(); + + //TODO: add error decorators to the catches + const temp = newBrew.save().then(()=>{ + console.log('SAVED'); + }); + + console.log(typeof temp, _.keys(temp), temp); + + return temp; }, update : (newBrew) => { return Brew.findOneAndUpdate({ editId : newBrew.editId }, diff --git a/server/db.js b/server/db.js index a703e33..452ce87 100644 --- a/server/db.js +++ b/server/db.js @@ -1,18 +1,23 @@ +const mongoose = require('mongoose'); +mongoose.Promise = Promise; + +const dbPath = process.env.MONGODB_URI || process.env.MONGOLAB_URI || 'mongodb://localhost/homebrewery'; module.exports = { connect : ()=>{ return new Promise((resolve, reject)=>{ - require('mongoose') - .connect(process.env.MONGODB_URI || process.env.MONGOLAB_URI || 'mongodb://localhost/homebrewery', - (err) => { - if(err){ - console.log('Error : Could not connect to a Mongo Database.'); - console.log(' If you are running locally, make sure mongodb.exe is running.'); - return reject(); - } - return resolve(); + mongoose.createConnection(dbPath, + (err) => { + if(err){ + console.log('Error : Could not connect to a Mongo Database.'); + console.log(' If you are running locally, make sure mongodb.exe is running.'); + return reject(err); } - ); + return resolve(); + } + ); }); - } + }, + instance : mongoose, + clearDatabase : ()=>{} } \ No newline at end of file diff --git a/test/brew.apitest.js b/test/brew.apitest.js index d99b417..cc612da 100644 --- a/test/brew.apitest.js +++ b/test/brew.apitest.js @@ -1,17 +1,12 @@ -const testing = require('./test.init.js'); + const request = require('supertest-as-promised'); - - -const app = require('../server.js') +const app = require('../server.js'); const apiPath = '/api/brew'; describe('/api/brew', () => { - before('Await DB', ()=>{ - return require('db.js').connect(); - }); describe('POST', () => { diff --git a/test/brew.datatest.js b/test/brew.datatest.js index 69946c1..487cc93 100644 --- a/test/brew.datatest.js +++ b/test/brew.datatest.js @@ -1,26 +1,38 @@ -const testing = require('./test.init.js'); -const should = testing.should; +const should = require('chai').use(require('chai-as-promised')).should(); + +const BrewDB = require('../server/db.js'); +const BrewData = require('../server/brew.data.js'); -const BrewDB = require('../server/brew.data.js'); - - -describe('BrewDB', () => { +describe.skip('BrewDB', () => { before('Await DB', ()=>{ - return require('db.js').connect(); + return BrewDB.connect() + .then(()=>{ + console.log('connected'); + }) + .catch(()=>{ + console.log('sdfdsfdsfdsf'); + }) }); - it('generates ID on save', () => { - return BrewDB.create({ + it('generates ID on save', (done) => { + console.log('getting here'); + return BrewData.create({ text : "Brew Text" }).then((brew) => { + console.log('here2'); should.exist(brew); brew.should.have.property('editId').that.is.a('string'); brew.should.have.property('shareId').that.is.a('string'); brew.should.have.property('text').that.is.a('string'); - }); + console.log('and I am done'); + done(); + }) + .catch((e) => { + console.log('an error', e); + }) }); }); \ No newline at end of file