File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -256,14 +256,14 @@ describe("Query Tests", () => {
256256 return query . lean ( ) . exec ( ) ;
257257 } )
258258 . then ( result => {
259- assert . propertyVal ( review , 'helpfulness' , 3 ) ;
259+ assert . propertyVal ( result , 'helpfulness' , 3 ) ;
260260 } ) ;
261261 } ) ;
262262
263263 it ( 'should return 400 if nothing or bad review_id provided' , ( ) => {
264264 return queries . putReviewHelpful ( )
265265 . then ( status => assert . equal ( status , 400 ) )
266- . then ( ( ) => queries . putReviewHelpful ( '' ) )
266+ . then ( ( ) => queries . putReviewHelpful ( 'bad ' ) )
267267 . then ( status => assert . equal ( status , 400 ) ) ;
268268 } ) ;
269269 } ) ;
Original file line number Diff line number Diff line change @@ -12,6 +12,8 @@ const {
1212const STATUS = {
1313 OK : 200 ,
1414 CREATED : 201 ,
15+ NO_CONTENT : 204 ,
16+ INVALID : 400 ,
1517 ERROR : 500 ,
1618} ;
1719
@@ -269,11 +271,30 @@ const postReview = async (reqBody) => {
269271 } ) ;
270272} ;
271273
274+ const putReviewHelpful = async ( review_id ) => {
275+ review_id = Number ( review_id ) ;
276+ if ( isNaN ( review_id ) ) {
277+ return await STATUS . INVALID ;
278+ }
279+
280+ return Review . findOneAndUpdate (
281+ { id : review_id } ,
282+ { $inc : { helpfulness : 1 } } ,
283+ { new : true }
284+ ) . exec ( )
285+ . then ( ( ) => STATUS . NO_CONTENT )
286+ . catch ( error => {
287+ console . error ( error ) ;
288+ return STATUS . ERROR ;
289+ } ) ;
290+ }
291+
272292// Export queries
273293
274294module . exports = {
275295 getNextValue,
276296 getReviews,
277297 getReviewsMeta,
278- postReview
298+ postReview,
299+ putReviewHelpful
279300} ;
You can’t perform that action at this time.
0 commit comments