diff --git a/bookshop/tests/genres.cds b/bookshop/test/genres.cds similarity index 100% rename from bookshop/tests/genres.cds rename to bookshop/test/genres.cds diff --git a/bookshop/tests/genres.http b/bookshop/test/genres.http similarity index 100% rename from bookshop/tests/genres.http rename to bookshop/test/genres.http diff --git a/bookshop/tests/genres.test.js b/bookshop/test/genres.test.js similarity index 100% rename from bookshop/tests/genres.test.js rename to bookshop/test/genres.test.js diff --git a/bookshop/tests/requests.http b/bookshop/test/requests.http similarity index 100% rename from bookshop/tests/requests.http rename to bookshop/test/requests.http diff --git a/reviews/srv/reviews-service.js b/reviews/srv/reviews-service.js index c798ec0c..2e347a93 100644 --- a/reviews/srv/reviews-service.js +++ b/reviews/srv/reviews-service.js @@ -5,9 +5,9 @@ module.exports = cds.service.impl (function(){ // ( Note: we explicitly specify the namespace to support embedded reuse ) const { Reviews, Likes } = this.entities ('sap.capire.reviews') - this.before (['CREATE','UPDATE','DELETE'], 'Reviews', req => { - if (!req.data.rating) req.data.rating = Math.round(Math.random()*4)+1 - }) + // this.before (['CREATE','UPDATE'], 'Reviews', req => { + // if (!req.data.rating) req.data.rating = Math.round(Math.random()*4)+1 + // }) // Emit an event to inform subscribers about new avg ratings for reviewed subjects // ( Note: req.on.succeeded ensures we only do that if there's no error ) diff --git a/reviews/tests/messaging.test.js b/reviews/test/messaging.test.js similarity index 80% rename from reviews/tests/messaging.test.js rename to reviews/test/messaging.test.js index a814a79d..55e758ac 100644 --- a/reviews/tests/messaging.test.js +++ b/reviews/test/messaging.test.js @@ -1,17 +1,18 @@ const _model = __dirname+'/..' const cds = require ('@sap/cds') +const {expect} = require('chai').use(require('chai-subset')) describe('messaging tests', ()=>{ it ('should bootstrap sqlite in-memory db', async()=>{ const db = await cds.deploy (_model) .to ('sqlite::memory:') - expect (db.model) .toBeDefined() + expect (db.model) .not.undefined }) let srv it ('should serve reviews services', async()=>{ srv = await cds.serve('ReviewsService') .from (_model) - expect (srv.name) .toMatch ('ReviewsService') + expect (srv.name) .to.match (/ReviewsService/) }) let N=0, received=[], M=0 @@ -24,12 +25,9 @@ describe('messaging tests', ()=>{ }) it ('should add review', async ()=>{ - const review = { - ID: 111 + (++N), // FIXME: why does the generic handler not fill this in automatically ?!? --> it does so when the request comes in via Postman / OData - subject: "201", title: "Captivating", rating: N - } + const review = { subject: "201", title: "Captivating", rating: ++N } const response = await srv.create ('Reviews') .entries (review) - expect (response) .toMatchObject (review) + expect (response) .to.containSubset (review) },100) it ('should add more reviews', ()=> Promise.all ([ @@ -56,9 +54,9 @@ describe('messaging tests', ()=>{ it ('should have received all messages', async()=> { await new Promise((done)=>setImmediate(done)) - expect(M).toBe(N) - expect(received.length).toBe(N) - expect(received.map(m=>m.data)).toEqual([ + expect(M).equals(N) + expect(received.length).equals(N) + expect(received.map(m=>m.data)).to.deep.equal([ { subject: '201', rating: 1 }, { subject: '201', rating: 1.5 }, { subject: '201', rating: 2 }, diff --git a/reviews/tests/requests.http b/reviews/test/requests.http similarity index 100% rename from reviews/tests/requests.http rename to reviews/test/requests.http