Skip to content
This repository has been archived by the owner on Jul 14, 2023. It is now read-only.

Commit

Permalink
test: test for Lambda Operator any/all (#253)
Browse files Browse the repository at this point in the history
* test: test for Lambda Operator any/all

* test: remove not necessary line

* test: automatic test for Lambda Operators
  • Loading branch information
gregorwolf committed Dec 29, 2021
1 parent 18849c2 commit e6beff1
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
13 changes: 12 additions & 1 deletion __tests__/__assets__/cap-proj/rest-client-test/beers.http
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,18 @@ GET http:https://localhost:4004/beershop/Beers/$count
GET http:https://localhost:4004/beershop/Beers
### Read Beers expanded to Brewery
GET http:https://localhost:4004/beershop/Beers?$expand=brewery
### Read Brewery expanded to Beers
### Read Breweries
GET http:https://localhost:4004/beershop/Breweries
?$count=true
### Read Breweries filter with Lambda Operator any
GET http:https://localhost:4004/beershop/Breweries
?$count=true
&$filter=beers/any(d:d/abv ge 5)
### Read Breweries filter with Lambda Operator all
GET http:https://localhost:4004/beershop/Breweries
?$count=true
&$filter=beers/all(d:d/abv ge 5)
### Read Breweries expanded to Beers
# @name brewery
GET http:https://localhost:4004/beershop/Breweries?$expand=beers($filter=abv ge 5)
###
Expand Down
17 changes: 17 additions & 0 deletions __tests__/lib/pg/service.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,23 @@ describe.each(suiteEnvironments)(
])
)
})

test('odata: $filter -> Lambda Operator any', async () => {
const response = await request.get('/beershop/Breweries?$count=true&$filter=beers/any(d:d/abv ge 5)')

expect(response.status).toStrictEqual(200)
expect(response.body.value.length).toStrictEqual(4)
expect(response.body['@odata.count']).toStrictEqual(4)
})

test('odata: $filter -> Lambda Operator all', async () => {
const response = await request.get('/beershop/Breweries?$count=true&$filter=beers/all(d:d/abv ge 5)')

expect(response.status).toStrictEqual(200)
expect(response.body.value.length).toStrictEqual(2)
expect(response.body['@odata.count']).toStrictEqual(2)
})

test('odata: $expand single entity on 1:1 rel -> sql: sub-select single record from expand-target table', async () => {
const response = await request.get(
'/beershop/Beers/9e1704e3-6fd0-4a5d-bfb1-13ac47f7976b?$expand=brewery($select=ID,name)'
Expand Down

0 comments on commit e6beff1

Please sign in to comment.