restful-goose
Advanced tools
Comparing version 1.1.5 to 1.1.6
@@ -40,2 +40,7 @@ var express = require('express'); | ||
var prop = {}; | ||
if (!rel.data) { | ||
return; | ||
} | ||
if (Array.isArray(rel.data)) { | ||
@@ -87,3 +92,5 @@ prop[key] = _.map(rel.data, 'id'); | ||
obj.attributes = attribs; | ||
obj.attributes = _.mapKeys(attribs, function(v, k) { | ||
return decamelize(k, '-'); | ||
}); | ||
return obj; | ||
@@ -212,3 +219,5 @@ } | ||
attributes = Object.assign({}, data.attributes); | ||
attributes = Object.assign({}, _.mapKeys(data.attributes, function(v,k) { | ||
return camel(k); | ||
})); | ||
@@ -215,0 +224,0 @@ // If related items have been updated, populate into attributes |
{ | ||
"name": "restful-goose", | ||
"version": "1.1.5", | ||
"version": "1.1.6", | ||
"description": "Yet another RESTful microservice generator for Mongoose with an emphasis on flexibility", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -25,3 +25,4 @@ var assert = require('chai').assert; | ||
name: String, | ||
rank: Number | ||
rank: Number, | ||
createdAt: { type: Date, default: Date.now } | ||
}); | ||
@@ -28,0 +29,0 @@ var subschema = new mongoose.Schema({ |
@@ -93,2 +93,4 @@ var chai = require('chai'); | ||
expect(res.body.data.id).to.equal(item._id.toString()); | ||
expect(res.body.data.attributes).to.have.property('created-at'); | ||
expect((new Date(res.body.data.attributes['created-at'])).getTime()).to.equal(item.createdAt.getTime()); | ||
expect(res.body.data.attributes.name).to.equal(item.name); | ||
@@ -95,0 +97,0 @@ expect(res.body.data.attributes.rank).to.equal(item.rank); |
@@ -45,3 +45,4 @@ var chai = require('chai'); | ||
var item = _.sample(items); | ||
var update = { data: { attributes: { name: faker.name.firstName(), rank: faker.random.number() }}}; | ||
var newTime = item.createdAt.getTime() + 400000; | ||
var update = { data: { attributes: { name: faker.name.firstName(), rank: faker.random.number(), 'created-at': newTime }}}; | ||
chai.request(app) | ||
@@ -55,2 +56,3 @@ .patch('/tests/' + item.id) | ||
expect(res.body.data.attributes.name).to.equal(update.data.attributes.name); | ||
expect(Math.floor((new Date(res.body.data.attributes["created-at"])).getTime() / 1000)).to.equal(Math.floor((new Date(newTime).getTime() / 1000))); | ||
expect(res.body.data.attributes.rank).to.equal(update.data.attributes.rank); | ||
@@ -57,0 +59,0 @@ expect(res.body.data.id).to.equal(item.id); |
@@ -44,3 +44,3 @@ var chai = require('chai'); | ||
it('should create a new item on / POST', function(done) { | ||
var data = { data: { attributes: { name: faker.name.firstName(), rank: faker.random.number() }}}; | ||
var data = { data: { attributes: { name: faker.name.firstName(), rank: faker.random.number(), "created-at": Date.now() }}}; | ||
chai.request(app) | ||
@@ -54,2 +54,3 @@ .post('/tests') | ||
expect(res.body).to.have.property('data'); | ||
expect(Math.floor((new Date(res.body.data.attributes["created-at"])).getTime() / 1000)).to.equal(Math.floor((new Date(data.data.attributes['created-at'])).getTime() / 1000)); | ||
expect(res.body.data.attributes.name).to.equal(data.data.attributes.name); | ||
@@ -56,0 +57,0 @@ expect(res.body.data.attributes.rank).to.equal(data.data.attributes.rank); |
54239
1389