Skip to content

Commit

Permalink
more tests more
Browse files Browse the repository at this point in the history
  • Loading branch information
ivanoff committed Aug 13, 2017
1 parent ad5f60d commit 816f287
Show file tree
Hide file tree
Showing 3 changed files with 257 additions and 2 deletions.
1 change: 1 addition & 0 deletions controllers/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ exports = module.exports = function (name, model) {
},

getRelationsData: function (req) {
//console.log(req.route.path);
var rel = req._relations[req.route.path.replace(/^\/+/, '')];
if (rel && req.params[rel.name]) rel.data = req.params[rel.name];
return rel;
Expand Down
3 changes: 2 additions & 1 deletion test/07.server.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ dbUrl = 'mongodb://' + dbAuth + dbUrl;
var app = require('../lib/server');
app._db = require('../lib/db/mongo');

app.model('categories', {
// depricated !!!
app.registerModel('categories', {
name: { type: 'string', required: true },
});

Expand Down
255 changes: 254 additions & 1 deletion test/10.token.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ appT.needToken();
appT.model('ingredients');

appT.model('recipe', {
stars: { link: 'ingredients' },
ingredients: { link: 'ingredients' },
});

describe('Token', function () {
Expand Down Expand Up @@ -132,4 +132,257 @@ describe('Token', function () {
});
});

describe('get token', function () {
it('/login', function (done) {
chai.request(appT)
.get('/login')
.set('X-Access-Token', token)
.end(function (err, res) {
expect(err).to.be.null;
expect(res.body).to.have.property('_refreshToken');
done();
});
});
});

describe('get token', function () {
it('/login', function (done) {
chai.request(appT)
.patch('/login')
.set('X-Access-Token', token)
.end(function (err, res) {
expect(err).to.be.null;
expect(res.body).to.have.property('token');
token = res.body.token;
done();
});
});
});

describe('/ingredients', function () {
var id;
it('add one', function (done) {
chai.request(appT)
.post('/ingredients')
.set('X-Access-Token', token)
.send({ name: 'Tomato' })
.end(function (err, res) {
expect(res).to.have.status(201);
done();
});
});

it('get all', function (done) {
chai.request(appT)
.get('/ingredients')
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.be.a('array');
id = res.body[0]._id;
done();
});
});

it('get one', function (done) {
chai.request(appT)
.get('/ingredients/' + id)
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.have.property('name').eql('Tomato');
done();
});
});
});

describe('/my/admin/ingredients', function () {
var id;
it('add one', function (done) {
chai.request(appT)
.post('/my/admin/ingredients')
.set('X-Access-Token', token)
.send({ name: 'Tomato' })
.end(function (err, res) {
expect(res).to.have.status(201);
done();
});
});

it('get all', function (done) {
chai.request(appT)
.get('/my/admin/ingredients')
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.be.a('array');
id = res.body[0]._id;
done();
});
});

it('get one', function (done) {
chai.request(appT)
.get('/my/admin/ingredients/' + id)
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.have.property('name').eql('Tomato');
done();
});
});
});

describe('/our/admin/ingredients', function () {
var id;
it('add one', function (done) {
chai.request(appT)
.post('/our/admin/ingredients')
.set('X-Access-Token', token)
.send({ name: 'Tomato' })
.end(function (err, res) {
expect(res).to.have.status(201);
done();
});
});

it('get all', function (done) {
chai.request(appT)
.get('/our/admin/ingredients')
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.be.a('array');
id = res.body[0]._id;
done();
});
});

it('get one', function (done) {
chai.request(appT)
.get('/our/admin/ingredients/' + id)
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.have.property('name').eql('Tomato');
done();
});
});
});

describe('/our/admin/recipe', function () {
var id;
it('add one', function (done) {
chai.request(appT)
.post('/our/admin/recipe')
.set('X-Access-Token', token)
.send({ name: 'Mashed tomato', ingredients:[id] })
.end(function (err, res) {
expect(res).to.have.status(201);
done();
});
});

it('get all', function (done) {
chai.request(appT)
.get('/our/admin/recipe')
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.be.a('array');
id = res.body[0]._id;
done();
});
});

it('get one', function (done) {
chai.request(appT)
.get('/our/admin/recipe/' + id)
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.have.property('name').eql('Mashed tomato');
done();
});
});

});
/*
// !!!!!!!!!! getRelationsData
describe('delete from /our/admin/ingredients', function () {
var id;
it('get all', function (done) {
chai.request(appT)
.get('/our/admin/ingredients')
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.be.a('array');
id = res.body[0]._id;
done();
});
});
it('delete one', function (done) {
chai.request(appT)
.delete('/our/admin/ingredients/' + id)
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.have.property('ok').eql(1);
done();
});
});
});
*/

describe('delete from /ingredients', function () {
var id;

it('add one', function (done) {
chai.request(appT)
.post('/ingredients')
.set('X-Access-Token', token)
.send({ name: 'Tomato' })
.end(function (err, res) {
expect(res).to.have.status(201);
done();
});
});

it('get all', function (done) {
chai.request(appT)
.get('/ingredients')
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.be.a('array');
id = res.body[0]._id;
done();
});
});

it('add one', function (done) {
chai.request(appT)
.post('/recipe')
.set('X-Access-Token', token)
.send({ name: 'Mashed tomato', ingredients:[id] })
.end(function (err, res) {
expect(res).to.have.status(201);
done();
});
});

it('delete one', function (done) {
chai.request(appT)
.delete('/ingredients/' + id)
.set('X-Access-Token', token)
.end(function (err, res) {
expect(res).to.have.status(200);
expect(res.body).to.have.property('ok').eql(1);
done();
});
});
});

});

0 comments on commit 816f287

Please sign in to comment.