Merge branch 'master' into adding-suppliers

This commit is contained in:
Daniel
2021-04-10 13:07:53 +02:00
8 changed files with 46 additions and 41 deletions

37
.vscode/launch.json vendored
View File

@@ -4,28 +4,31 @@
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Attach by Process ID",
"processId": "${command:PickProcess}",
"request": "attach",
"skipFiles": [
"<node_internals>/**"
],
"type": "pwa-node"
},
{
"name": "bookshop",
"command": "cds watch bookshop",
"request": "launch",
"command": "npx cds watch bookshop",
"type": "node-terminal",
"skipFiles": ["<node_internals>/**"]
"request": "launch",
"skipFiles": [
"<node_internals>/**",
"**/node_modules/**",
"**/cds/lib/lazy.js",
"**/cds/lib/req/cls.js",
"**/odata-v4/okra/**"
]
},
{
"name": "Fiori app",
"command": "cds watch fiori",
"request": "launch",
"name": "Fiori App",
"command": "npx cds watch fiori",
"type": "node-terminal",
"skipFiles": ["<node_internals>/**"]
"request": "launch",
"skipFiles": [
"<node_internals>/**",
"**/node_modules/**",
"**/cds/lib/lazy.js",
"**/cds/lib/req/cls.js",
"**/odata-v4/okra/**"
]
}
],
"inputs": [
@@ -33,7 +36,7 @@
"type": "pickString",
"id": "sample",
"description": "Which sample do you want to start?",
"options": ["bookshop", "fiori", "reviews", "reviews/test/bookshop"],
"options": [ "bookshop", "fiori", "reviews", "reviews" ],
"default": "bookshop"
}
]

11
.vscode/settings.json vendored
View File

@@ -4,5 +4,14 @@
"**/.gitignore": true,
"**/.vscode": true,
"LICENSES/**": true
}
},
"debug.javascript.terminalOptions": {
"skipFiles": [
"<node_internals>/**",
"**/node_modules/**",
"**/cds/lib/lazy.js",
"**/cds/lib/req/cls.js",
"**/odata-v4/okra/**"
]
},
}

View File

@@ -4,7 +4,7 @@
"description": "A simple self-contained bookshop service.",
"dependencies": {
"@capire/common": "*",
"@sap/cds": ">=4",
"@sap/cds": "^5.0.4",
"express": "^4.17.1",
"passport": "0.4.1"
},

View File

@@ -5,10 +5,10 @@ class CatalogService extends cds.ApplicationService { init(){
// Reduce stock of ordered books if available stock suffices
this.on ('submitOrder', async req => {
const {book,amount} = req.data, tx = cds.tx(req)
let {stock} = await tx.read('stock').from(Books,book)
const {book,amount} = req.data
let {stock} = await SELECT `stock` .from (Books,book)
if (stock >= amount) {
await tx.update (Books,book).with ({ stock: stock -= amount })
await UPDATE (Books,book) .with (`stock -=`, amount)
await this.emit ('OrderedBook', { book, amount, buyer:req.user.id })
return { stock }
}
@@ -16,10 +16,8 @@ class CatalogService extends cds.ApplicationService { init(){
})
// Add some discount for overstocked books
this.after ('READ','Books', each => {
if (each.stock > 111) {
each.title += ` -- 11% discount!`
}
this.after ('READ','ListOfBooks', each => {
if (each.stock > 111) each.title += ` -- 11% discount!`
})
return super.init()

View File

@@ -2,10 +2,10 @@
## Run all-in-one
Open a terminal window and run the bookshop in it:
Open a terminal window and run the `fiori` app in it:
```sh
npm run bookshop
npm run fiori
```
@@ -17,8 +17,8 @@ Open two terminal windows. In the first one start the reviews service stand-alon
npm run reviews-service
```
In the second one start the bookshop:
In the second one start the `fiori` app:
```sh
npm run bookshop
npm run fiori
```

View File

@@ -1,11 +1,10 @@
const {expect} = require('../test')
const cds = require('@sap/cds/lib')
// monkey patching older releases:
if (!cds.compile.cdl) cds.compile.cdl = cds.parse
const { parse:cdr } = cds.ql
const model = cds.compile.cdl (`
// should become cds.compile(...) when cds5 is released
const model = cds.compile.to.csn (`
entity Categories {
key ID : Integer;
name : String;

View File

@@ -1,6 +1,2 @@
const test = require('@sap/cds/lib/utils/tests').in(__dirname,'..')
module.exports = Object.assign(test,{run:test})
// REVISIT: With upcoming release of @sap/cds this should become:
// module.exports = require('@sap/cds/tests').in(__dirname,'..')
const cds = require('@sap/cds')
module.exports = cds.test.in(__dirname,'..')

View File

@@ -20,11 +20,11 @@ describe('Messaging', ()=>{
let N=0, received=[], M=0
it ('should add messaging event handlers', ()=>{
srv.on('reviewed', (msg,next)=> { received.push(msg); return next() })
srv.on('reviewed', (msg)=> received.push(msg))
})
it ('should add more messaging event handlers', ()=>{
srv.on('reviewed', (_,next)=> { ++M; return next() })
srv.on('reviewed', ()=> ++M)
})
it ('should add review', async ()=>{