@n1k1t/mock-server 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/package.json +3 -2
- package/lib/src/client/helpers/expectations.d.ts +91 -0
- package/lib/src/client/helpers/expectations.d.ts.map +1 -0
- package/lib/src/client/helpers/expectations.js +66 -0
- package/lib/src/client/helpers/expectations.js.map +1 -0
- package/lib/src/client/helpers/index.d.ts +2 -0
- package/lib/src/client/helpers/index.d.ts.map +1 -0
- package/lib/src/client/helpers/index.js +18 -0
- package/lib/src/client/helpers/index.js.map +1 -0
- package/lib/src/client/index.d.ts +1 -0
- package/lib/src/client/index.d.ts.map +1 -1
- package/lib/src/client/index.js +1 -0
- package/lib/src/client/index.js.map +1 -1
- package/lib/src/client/methods/expectations.create.method.d.ts +1 -3
- package/lib/src/client/methods/expectations.create.method.d.ts.map +1 -1
- package/lib/src/client/methods/expectations.create.method.js +2 -2
- package/lib/src/client/methods/expectations.create.method.js.map +1 -1
- package/lib/src/client/methods/expectations.update.method.d.ts +2 -2
- package/lib/src/client/methods/expectations.update.method.js +5 -5
- package/lib/src/client/methods/expectations.update.method.js.map +1 -1
- package/lib/src/client/methods/ping.method.d.ts +1 -1
- package/lib/src/client/methods/ping.method.js.map +1 -1
- package/lib/src/client/models/client.d.ts +40 -0
- package/lib/src/client/models/client.d.ts.map +1 -0
- package/lib/src/client/models/client.js +33 -0
- package/lib/src/client/models/client.js.map +1 -0
- package/lib/src/client/models/client.spec.d.ts +2 -0
- package/lib/src/client/models/client.spec.d.ts.map +1 -0
- package/lib/src/client/models/client.spec.js +219 -0
- package/lib/src/client/models/client.spec.js.map +1 -0
- package/lib/src/client/models/index.d.ts +1 -0
- package/lib/src/client/models/index.d.ts.map +1 -1
- package/lib/src/client/models/index.js +1 -0
- package/lib/src/client/models/index.js.map +1 -1
- package/lib/src/client/models/method.d.ts +4 -4
- package/lib/src/client/models/method.d.ts.map +1 -1
- package/lib/src/client/models/method.js.map +1 -1
- package/lib/src/client/onsite.d.ts +4 -3
- package/lib/src/client/onsite.d.ts.map +1 -1
- package/lib/src/client/onsite.js +8 -6
- package/lib/src/client/onsite.js.map +1 -1
- package/lib/src/client/remote.d.ts +4 -4
- package/lib/src/client/remote.d.ts.map +1 -1
- package/lib/src/client/remote.js +11 -10
- package/lib/src/client/remote.js.map +1 -1
- package/lib/src/client/types.d.ts +2 -0
- package/lib/src/client/types.d.ts.map +1 -1
- package/lib/src/client/utils.d.ts +2 -2
- package/lib/src/client/utils.d.ts.map +1 -1
- package/lib/src/client/utils.js +25 -12
- package/lib/src/client/utils.js.map +1 -1
- package/lib/src/expectations/__utils__/index.d.ts +2 -2
- package/lib/src/expectations/__utils__/index.d.ts.map +1 -1
- package/lib/src/expectations/__utils__/index.js +31 -23
- package/lib/src/expectations/__utils__/index.js.map +1 -1
- package/lib/src/expectations/index.d.ts +1 -2
- package/lib/src/expectations/index.d.ts.map +1 -1
- package/lib/src/expectations/index.js +1 -2
- package/lib/src/expectations/index.js.map +1 -1
- package/lib/src/expectations/models/expectation.d.ts +35 -0
- package/lib/src/expectations/models/expectation.d.ts.map +1 -0
- package/lib/src/expectations/models/expectation.js +113 -0
- package/lib/src/expectations/models/expectation.js.map +1 -0
- package/lib/src/expectations/models/index.d.ts +4 -0
- package/lib/src/expectations/models/index.d.ts.map +1 -0
- package/lib/src/expectations/models/index.js +20 -0
- package/lib/src/expectations/models/index.js.map +1 -0
- package/lib/src/expectations/models/operator.d.ts +20 -0
- package/lib/src/expectations/models/operator.d.ts.map +1 -0
- package/lib/src/expectations/models/operator.js +41 -0
- package/lib/src/expectations/models/operator.js.map +1 -0
- package/lib/src/expectations/models/storage.d.ts +15 -0
- package/lib/src/expectations/models/storage.d.ts.map +1 -0
- package/lib/src/expectations/{storage.js → models/storage.js} +4 -14
- package/lib/src/expectations/models/storage.js.map +1 -0
- package/lib/src/expectations/models/storage.spec.d.ts +2 -0
- package/lib/src/expectations/models/storage.spec.d.ts.map +1 -0
- package/lib/src/expectations/models/storage.spec.js +111 -0
- package/lib/src/expectations/models/storage.spec.js.map +1 -0
- package/lib/src/expectations/operators/and.operator.d.ts +7 -2
- package/lib/src/expectations/operators/and.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/and.operator.js +21 -2
- package/lib/src/expectations/operators/and.operator.js.map +1 -1
- package/lib/src/expectations/operators/and.operator.spec.js +57 -39
- package/lib/src/expectations/operators/and.operator.spec.js.map +1 -1
- package/lib/src/expectations/operators/exec.operator.d.ts +7 -2
- package/lib/src/expectations/operators/exec.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/exec.operator.js +13 -18
- package/lib/src/expectations/operators/exec.operator.js.map +1 -1
- package/lib/src/expectations/operators/exec.operator.spec.js +49 -18
- package/lib/src/expectations/operators/exec.operator.spec.js.map +1 -1
- package/lib/src/expectations/operators/has.operator.d.ts +27 -2
- package/lib/src/expectations/operators/has.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/has.operator.js +106 -70
- package/lib/src/expectations/operators/has.operator.js.map +1 -1
- package/lib/src/expectations/operators/has.operator.spec.js +422 -161
- package/lib/src/expectations/operators/has.operator.spec.js.map +1 -1
- package/lib/src/expectations/operators/if.operator.d.ts +15 -2
- package/lib/src/expectations/operators/if.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/if.operator.js +44 -10
- package/lib/src/expectations/operators/if.operator.js.map +1 -1
- package/lib/src/expectations/operators/if.operator.spec.js +89 -65
- package/lib/src/expectations/operators/if.operator.spec.js.map +1 -1
- package/lib/src/expectations/operators/index.d.ts +2 -0
- package/lib/src/expectations/operators/index.d.ts.map +1 -1
- package/lib/src/expectations/operators/index.js +5 -1
- package/lib/src/expectations/operators/index.js.map +1 -1
- package/lib/src/expectations/operators/merge.operator.d.ts +13 -2
- package/lib/src/expectations/operators/merge.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/merge.operator.js +23 -19
- package/lib/src/expectations/operators/merge.operator.js.map +1 -1
- package/lib/src/expectations/operators/merge.operator.spec.js +43 -33
- package/lib/src/expectations/operators/merge.operator.spec.js.map +1 -1
- package/lib/src/expectations/operators/not.operator.d.ts +7 -2
- package/lib/src/expectations/operators/not.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/not.operator.js +21 -2
- package/lib/src/expectations/operators/not.operator.js.map +1 -1
- package/lib/src/expectations/operators/not.operator.spec.js +28 -9
- package/lib/src/expectations/operators/not.operator.spec.js.map +1 -1
- package/lib/src/expectations/operators/or.operator.d.ts +7 -2
- package/lib/src/expectations/operators/or.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/or.operator.js +21 -6
- package/lib/src/expectations/operators/or.operator.js.map +1 -1
- package/lib/src/expectations/operators/or.operator.spec.js +58 -39
- package/lib/src/expectations/operators/or.operator.spec.js.map +1 -1
- package/lib/src/expectations/operators/remove.operator.d.ts +12 -2
- package/lib/src/expectations/operators/remove.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/remove.operator.js +22 -17
- package/lib/src/expectations/operators/remove.operator.js.map +1 -1
- package/lib/src/expectations/operators/remove.operator.spec.js +40 -28
- package/lib/src/expectations/operators/remove.operator.spec.js.map +1 -1
- package/lib/src/expectations/operators/root.operator.d.ts +8 -0
- package/lib/src/expectations/operators/root.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/root.operator.js +36 -0
- package/lib/src/expectations/operators/root.operator.js.map +1 -0
- package/lib/src/expectations/operators/set.operator.d.ts +20 -2
- package/lib/src/expectations/operators/set.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/set.operator.js +40 -23
- package/lib/src/expectations/operators/set.operator.js.map +1 -1
- package/lib/src/expectations/operators/set.operator.spec.js +87 -43
- package/lib/src/expectations/operators/set.operator.spec.js.map +1 -1
- package/lib/src/expectations/operators/switch.operator.d.ts +25 -0
- package/lib/src/expectations/operators/switch.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/switch.operator.js +68 -0
- package/lib/src/expectations/operators/switch.operator.js.map +1 -0
- package/lib/src/expectations/operators/switch.operator.spec.d.ts +2 -0
- package/lib/src/expectations/operators/switch.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/switch.operator.spec.js +129 -0
- package/lib/src/expectations/operators/switch.operator.spec.js.map +1 -0
- package/lib/src/expectations/types.d.ts +55 -56
- package/lib/src/expectations/types.d.ts.map +1 -1
- package/lib/src/expectations/types.js +13 -2
- package/lib/src/expectations/types.js.map +1 -1
- package/lib/src/expectations/utils.d.ts +19 -7
- package/lib/src/expectations/utils.d.ts.map +1 -1
- package/lib/src/expectations/utils.js +77 -50
- package/lib/src/expectations/utils.js.map +1 -1
- package/lib/src/server/endpoints/config.get.endpoint.d.ts +8 -3
- package/lib/src/server/endpoints/config.get.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/config.get.endpoint.js +2 -4
- package/lib/src/server/endpoints/config.get.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.create.endpoint.d.ts +9 -11
- package/lib/src/server/endpoints/expectations.create.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.create.endpoint.js +2 -3
- package/lib/src/server/endpoints/expectations.create.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.delete.endpoint.d.ts +8 -5
- package/lib/src/server/endpoints/expectations.delete.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.delete.endpoint.js +2 -2
- package/lib/src/server/endpoints/expectations.delete.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.get-list.endpoint.d.ts +8 -3
- package/lib/src/server/endpoints/expectations.get-list.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.get-list.endpoint.js +2 -2
- package/lib/src/server/endpoints/expectations.get-list.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.update.endpoint.d.ts +13 -11
- package/lib/src/server/endpoints/expectations.update.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.update.endpoint.js +4 -6
- package/lib/src/server/endpoints/expectations.update.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/history.get-list.endpoint.d.ts +27 -0
- package/lib/src/server/endpoints/history.get-list.endpoint.d.ts.map +1 -0
- package/lib/src/server/endpoints/history.get-list.endpoint.js +11 -0
- package/lib/src/server/endpoints/history.get-list.endpoint.js.map +1 -0
- package/lib/src/server/endpoints/index.d.ts +1 -1
- package/lib/src/server/endpoints/index.d.ts.map +1 -1
- package/lib/src/server/endpoints/index.js +3 -3
- package/lib/src/server/endpoints/index.js.map +1 -1
- package/lib/src/server/endpoints/ping.endpoint.d.ts +8 -3
- package/lib/src/server/endpoints/ping.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/ping.endpoint.js +1 -1
- package/lib/src/server/endpoints/ping.endpoint.js.map +1 -1
- package/lib/src/server/history/model.d.ts +16 -16
- package/lib/src/server/history/model.d.ts.map +1 -1
- package/lib/src/server/history/model.js +21 -6
- package/lib/src/server/history/model.js.map +1 -1
- package/lib/src/server/history/storage.d.ts +3 -4
- package/lib/src/server/history/storage.d.ts.map +1 -1
- package/lib/src/server/history/storage.js +2 -2
- package/lib/src/server/history/storage.js.map +1 -1
- package/lib/src/server/index.d.ts +10 -6
- package/lib/src/server/index.d.ts.map +1 -1
- package/lib/src/server/index.js +9 -18
- package/lib/src/server/index.js.map +1 -1
- package/lib/src/server/middlewares/add-history.middleware.d.ts +14 -4
- package/lib/src/server/middlewares/add-history.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/add-history.middleware.js +5 -6
- package/lib/src/server/middlewares/add-history.middleware.js.map +1 -1
- package/lib/src/server/middlewares/destroy-request.midleware.d.ts +14 -4
- package/lib/src/server/middlewares/destroy-request.midleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/destroy-request.midleware.js +4 -5
- package/lib/src/server/middlewares/destroy-request.midleware.js.map +1 -1
- package/lib/src/server/middlewares/handle-expectation-delay.middleware.d.ts +14 -4
- package/lib/src/server/middlewares/handle-expectation-delay.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/handle-expectation-delay.middleware.js +1 -2
- package/lib/src/server/middlewares/handle-expectation-delay.middleware.js.map +1 -1
- package/lib/src/server/middlewares/handle-expectation-forward.middleware.d.ts +14 -4
- package/lib/src/server/middlewares/handle-expectation-forward.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/handle-expectation-forward.middleware.js +31 -45
- package/lib/src/server/middlewares/handle-expectation-forward.middleware.js.map +1 -1
- package/lib/src/server/middlewares/index.d.ts +4 -4
- package/lib/src/server/middlewares/index.d.ts.map +1 -1
- package/lib/src/server/middlewares/index.js +9 -9
- package/lib/src/server/middlewares/index.js.map +1 -1
- package/lib/src/server/middlewares/internal-route.middleware.d.ts +14 -2
- package/lib/src/server/middlewares/internal-route.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/internal-route.middleware.js +4 -3
- package/lib/src/server/middlewares/internal-route.middleware.js.map +1 -1
- package/lib/src/server/middlewares/match-expectation.middleware.d.ts +18 -0
- package/lib/src/server/middlewares/match-expectation.middleware.d.ts.map +1 -0
- package/lib/src/server/middlewares/match-expectation.middleware.js +20 -0
- package/lib/src/server/middlewares/match-expectation.middleware.js.map +1 -0
- package/lib/src/server/middlewares/reply.middleware.d.ts +15 -5
- package/lib/src/server/middlewares/reply.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/reply.middleware.js +34 -25
- package/lib/src/server/middlewares/reply.middleware.js.map +1 -1
- package/lib/src/server/middlewares/resolve-public.middleware.d.ts +14 -2
- package/lib/src/server/middlewares/resolve-public.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/resolve-public.middleware.js +11 -11
- package/lib/src/server/middlewares/resolve-public.middleware.js.map +1 -1
- package/lib/src/server/models/endpoint.d.ts +19 -13
- package/lib/src/server/models/endpoint.d.ts.map +1 -1
- package/lib/src/server/models/endpoint.js +2 -2
- package/lib/src/server/models/endpoint.js.map +1 -1
- package/lib/src/server/models/middleware.d.ts +18 -20
- package/lib/src/server/models/middleware.d.ts.map +1 -1
- package/lib/src/server/models/middleware.js +6 -10
- package/lib/src/server/models/middleware.js.map +1 -1
- package/lib/src/server/models/reply-service/index.d.ts +6 -6
- package/lib/src/server/models/reply-service/index.d.ts.map +1 -1
- package/lib/src/server/models/reply-service/index.js +24 -24
- package/lib/src/server/models/reply-service/index.js.map +1 -1
- package/lib/src/server/models/request-context/http.d.ts +42 -0
- package/lib/src/server/models/request-context/http.d.ts.map +1 -0
- package/lib/src/server/models/request-context/http.js +51 -0
- package/lib/src/server/models/request-context/http.js.map +1 -0
- package/lib/src/server/models/request-context/index.d.ts +4 -57
- package/lib/src/server/models/request-context/index.d.ts.map +1 -1
- package/lib/src/server/models/request-context/index.js +4 -57
- package/lib/src/server/models/request-context/index.js.map +1 -1
- package/lib/src/server/models/request-context/model.d.ts +13 -0
- package/lib/src/server/models/request-context/model.d.ts.map +1 -0
- package/lib/src/server/models/request-context/model.js +14 -0
- package/lib/src/server/models/request-context/model.js.map +1 -0
- package/lib/src/server/models/request-context/types.d.ts +14 -18
- package/lib/src/server/models/request-context/types.d.ts.map +1 -1
- package/lib/src/server/models/request-context/utils.d.ts +7 -3
- package/lib/src/server/models/request-context/utils.d.ts.map +1 -1
- package/lib/src/server/models/request-context/utils.js +48 -25
- package/lib/src/server/models/request-context/utils.js.map +1 -1
- package/lib/src/server/models/request-context/ws.d.ts +21 -0
- package/lib/src/server/models/request-context/ws.d.ts.map +1 -0
- package/lib/src/server/models/request-context/ws.js +22 -0
- package/lib/src/server/models/request-context/ws.js.map +1 -0
- package/lib/src/server/models/server-context.d.ts +4 -4
- package/lib/src/server/models/server-context.d.ts.map +1 -1
- package/lib/src/server/models/server-context.js +5 -5
- package/lib/src/server/models/server-context.js.map +1 -1
- package/lib/src/server/router.d.ts +4 -7
- package/lib/src/server/router.d.ts.map +1 -1
- package/lib/src/server/router.js +5 -12
- package/lib/src/server/router.js.map +1 -1
- package/lib/src/server/ws-exchange/index.d.ts +5 -0
- package/lib/src/server/ws-exchange/index.d.ts.map +1 -0
- package/lib/src/server/{web-socket-exchange → ws-exchange}/index.js +3 -3
- package/lib/src/server/ws-exchange/index.js.map +1 -0
- package/lib/src/server/ws-exchange/types.d.ts +12 -0
- package/lib/src/server/ws-exchange/types.d.ts.map +1 -0
- package/lib/src/server/ws-exchange/types.js.map +1 -0
- package/lib/src/types.d.ts +0 -1
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/utils/index.d.ts +1 -0
- package/lib/src/utils/index.d.ts.map +1 -1
- package/lib/src/utils/index.js +1 -0
- package/lib/src/utils/index.js.map +1 -1
- package/lib/src/utils/json.d.ts +1 -1
- package/lib/src/utils/json.d.ts.map +1 -1
- package/lib/src/utils/json.js +3 -3
- package/lib/src/utils/json.js.map +1 -1
- package/lib/src/utils/regexp.d.ts +2 -0
- package/lib/src/utils/regexp.d.ts.map +1 -0
- package/lib/src/utils/regexp.js +9 -0
- package/lib/src/utils/regexp.js.map +1 -0
- package/lib/test/index.js +105 -137
- package/lib/test/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/common.global.d.ts +13 -6
- package/lib/types/common.global.d.ts.map +1 -1
- package/lib/types/lib.d.ts +1 -0
- package/lib/types/lib.d.ts.map +1 -1
- package/lib/types/lib.js +1 -0
- package/lib/types/lib.js.map +1 -1
- package/package.json +3 -2
- package/types/common.global.ts +21 -2
- package/types/lib.ts +1 -0
- package/lib/src/expectations/model.d.ts +0 -39
- package/lib/src/expectations/model.d.ts.map +0 -1
- package/lib/src/expectations/model.js +0 -90
- package/lib/src/expectations/model.js.map +0 -1
- package/lib/src/expectations/operators/utils.d.ts +0 -20
- package/lib/src/expectations/operators/utils.d.ts.map +0 -1
- package/lib/src/expectations/operators/utils.js +0 -67
- package/lib/src/expectations/operators/utils.js.map +0 -1
- package/lib/src/expectations/storage.d.ts +0 -19
- package/lib/src/expectations/storage.d.ts.map +0 -1
- package/lib/src/expectations/storage.js.map +0 -1
- package/lib/src/expectations/utils.spec.d.ts +0 -2
- package/lib/src/expectations/utils.spec.d.ts.map +0 -1
- package/lib/src/expectations/utils.spec.js +0 -59
- package/lib/src/expectations/utils.spec.js.map +0 -1
- package/lib/src/expectations/validation-schemas.d.ts +0 -14
- package/lib/src/expectations/validation-schemas.d.ts.map +0 -1
- package/lib/src/expectations/validation-schemas.js +0 -36
- package/lib/src/expectations/validation-schemas.js.map +0 -1
- package/lib/src/server/endpoints/history-records.get-list.endpoint.d.ts +0 -16
- package/lib/src/server/endpoints/history-records.get-list.endpoint.d.ts.map +0 -1
- package/lib/src/server/endpoints/history-records.get-list.endpoint.js +0 -9
- package/lib/src/server/endpoints/history-records.get-list.endpoint.js.map +0 -1
- package/lib/src/server/middlewares/validate-expectation-request.middleware.d.ts +0 -6
- package/lib/src/server/middlewares/validate-expectation-request.middleware.d.ts.map +0 -1
- package/lib/src/server/middlewares/validate-expectation-request.middleware.js +0 -20
- package/lib/src/server/middlewares/validate-expectation-request.middleware.js.map +0 -1
- package/lib/src/server/types.d.ts +0 -6
- package/lib/src/server/types.d.ts.map +0 -1
- package/lib/src/server/types.js.map +0 -1
- package/lib/src/server/web-socket-exchange/index.d.ts +0 -5
- package/lib/src/server/web-socket-exchange/index.d.ts.map +0 -1
- package/lib/src/server/web-socket-exchange/index.js.map +0 -1
- package/lib/src/server/web-socket-exchange/types.d.ts +0 -12
- package/lib/src/server/web-socket-exchange/types.d.ts.map +0 -1
- package/lib/src/server/web-socket-exchange/types.js +0 -3
- package/lib/src/server/web-socket-exchange/types.js.map +0 -1
- /package/lib/src/server/{types.js → ws-exchange/types.js} +0 -0
|
@@ -4,36 +4,53 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
|
7
|
-
const utils_1 = require("
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
8
|
const utils_2 = require("../../utils");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
const operator_1 = require("../models/operator");
|
|
10
|
+
class SetExpectationOperator extends operator_1.ExpectationOperator {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.compiled = {
|
|
14
|
+
...(this.command.$exec && {
|
|
15
|
+
exec: this.compileExecHandler(this.command.$exec, ['payload', 'utils']),
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
12
18
|
}
|
|
13
|
-
|
|
14
|
-
if (!payload) {
|
|
19
|
+
match() {
|
|
15
20
|
return true;
|
|
16
21
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return true;
|
|
22
|
+
manipulate(context) {
|
|
23
|
+
const payload = (0, utils_1.extractContextByLocation)(this.command.$location, context);
|
|
24
|
+
if (!payload) {
|
|
25
|
+
return context;
|
|
22
26
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
switch (payload.type) {
|
|
28
|
+
case 'number':
|
|
29
|
+
case 'string': {
|
|
30
|
+
this.compiled.exec
|
|
31
|
+
? lodash_1.default.set(payload.parent, payload.key, this.compiled.exec(context, payload.value))
|
|
32
|
+
: lodash_1.default.set(payload.parent, payload.key, this.command.$value);
|
|
33
|
+
return context;
|
|
27
34
|
}
|
|
28
|
-
|
|
29
|
-
(
|
|
30
|
-
.
|
|
31
|
-
|
|
35
|
+
case 'object': {
|
|
36
|
+
if (this.command.$path) {
|
|
37
|
+
this.compiled.exec
|
|
38
|
+
? lodash_1.default.set(payload.value, this.command.$path, this.compiled.exec(context, lodash_1.default.get(payload.value, this.command.$path)))
|
|
39
|
+
: lodash_1.default.set(payload.value, this.command.$path, this.command.$value);
|
|
40
|
+
return context;
|
|
41
|
+
}
|
|
42
|
+
if (this.command.$jsonPath) {
|
|
43
|
+
(0, utils_2.extractWithJsonPathSafe)({ path: this.command.$jsonPath, json: payload.value }).results?.forEach(({ parent, parentProperty, value }) => this.compiled.exec
|
|
44
|
+
? lodash_1.default.set(parent, parentProperty, this.compiled.exec(context, value))
|
|
45
|
+
: lodash_1.default.set(parent, parentProperty, this.command.$value));
|
|
46
|
+
return context;
|
|
47
|
+
}
|
|
48
|
+
lodash_1.default.set(payload.parent, [payload.key], this.command.$value);
|
|
49
|
+
return context;
|
|
32
50
|
}
|
|
33
|
-
|
|
34
|
-
return true;
|
|
51
|
+
default: return context;
|
|
35
52
|
}
|
|
36
|
-
default: return true;
|
|
37
53
|
}
|
|
38
|
-
}
|
|
54
|
+
}
|
|
55
|
+
exports.default = SetExpectationOperator;
|
|
39
56
|
//# sourceMappingURL=set.operator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.operator.js","sourceRoot":"","sources":["../../../../src/expectations/operators/set.operator.ts"],"names":[],"mappings":";;;;;AAAA,oDAAuB;AAEvB,
|
|
1
|
+
{"version":3,"file":"set.operator.js","sourceRoot":"","sources":["../../../../src/expectations/operators/set.operator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +1,101 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
4
24
|
};
|
|
5
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
26
|
const __utils__1 = require("../__utils__");
|
|
7
|
-
const
|
|
8
|
-
const set_operator_1 = __importDefault(require("./set.operator"));
|
|
27
|
+
const operators = __importStar(require("./index"));
|
|
9
28
|
describe('Expectations.Operators.Set', () => {
|
|
10
|
-
it('should
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
});
|
|
14
|
-
it('should handle schema without location', () => {
|
|
15
|
-
expect((0, set_operator_1.default)('manipulation', {}, {}, { exploreNestedSchema: utils_1.exploreNestedExpectationSchema })).toBeTruthy();
|
|
16
|
-
});
|
|
17
|
-
it('should manipulate by schema in statusCode', () => {
|
|
18
|
-
const context = (0, __utils__1.buildExpectationContext)();
|
|
19
|
-
const schema = {
|
|
20
|
-
$location: 'statusCode',
|
|
29
|
+
it('should manipulate by schema in outgoing.status', () => {
|
|
30
|
+
const operator = new operators.$set(operators, {
|
|
31
|
+
$location: 'outgoing.status',
|
|
21
32
|
$value: 404,
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
expect(context.
|
|
25
|
-
});
|
|
26
|
-
it('should manipulate by schema in headers', () => {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
$location: 'headers',
|
|
33
|
+
});
|
|
34
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
35
|
+
expect(context.outgoing?.status).toEqual(404);
|
|
36
|
+
});
|
|
37
|
+
it('should manipulate by schema in incoming.headers', () => {
|
|
38
|
+
const operator = new operators.$set(operators, {
|
|
39
|
+
$location: 'incoming.headers',
|
|
30
40
|
$path: 'a.b.c.d',
|
|
31
41
|
$value: 'test',
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
expect(context.headers.a.b.c.d).toEqual('test');
|
|
35
|
-
});
|
|
36
|
-
it('should manipulate by schema in body using jsonPath', () => {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
$location: 'body',
|
|
42
|
+
});
|
|
43
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
44
|
+
expect(context.incoming.headers.a.b.c.d).toEqual('test');
|
|
45
|
+
});
|
|
46
|
+
it('should manipulate by schema in incoming.body using jsonPath', () => {
|
|
47
|
+
const operator = new operators.$set(operators, {
|
|
48
|
+
$location: 'incoming.body',
|
|
40
49
|
$jsonPath: '$.foo[*].bar,baz',
|
|
41
50
|
$value: { test: true },
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
expect(context.body.foo[0].bar.test).toBeTruthy();
|
|
45
|
-
expect(context.body.foo[1].baz.test).toBeTruthy();
|
|
46
|
-
});
|
|
47
|
-
it('should manipulate by schema in
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
$location: 'query',
|
|
51
|
+
});
|
|
52
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
53
|
+
expect(context.incoming.body.foo[0].bar.test).toBeTruthy();
|
|
54
|
+
expect(context.incoming.body.foo[1].baz.test).toBeTruthy();
|
|
55
|
+
});
|
|
56
|
+
it('should manipulate by schema in incoming.query', () => {
|
|
57
|
+
const operator = new operators.$set(operators, {
|
|
58
|
+
$location: 'incoming.query',
|
|
51
59
|
$value: { test: true },
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
expect(context.query.test).toBeTruthy();
|
|
60
|
+
});
|
|
61
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
62
|
+
expect(context.incoming.query.test).toBeTruthy();
|
|
63
|
+
});
|
|
64
|
+
it('should manipulate by schema using path and exec as function', () => {
|
|
65
|
+
const operator = new operators.$set(operators, {
|
|
66
|
+
$location: 'incoming.query',
|
|
67
|
+
$path: 'foo',
|
|
68
|
+
$exec: (payload) => payload + 1,
|
|
69
|
+
});
|
|
70
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
71
|
+
expect(context.incoming.query.foo).toEqual(2);
|
|
72
|
+
});
|
|
73
|
+
it('should manipulate by schema using exec as function', () => {
|
|
74
|
+
const operator = new operators.$set(operators, {
|
|
75
|
+
$location: 'incoming.query',
|
|
76
|
+
$path: 'test',
|
|
77
|
+
$exec: () => true,
|
|
78
|
+
});
|
|
79
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
80
|
+
expect(context.incoming.query.test).toBeTruthy();
|
|
81
|
+
});
|
|
82
|
+
it('should manipulate by schema using exec as string', () => {
|
|
83
|
+
const operator = new operators.$set(operators, {
|
|
84
|
+
$location: 'incoming.query',
|
|
85
|
+
$path: 'test',
|
|
86
|
+
$exec: 'true',
|
|
87
|
+
});
|
|
88
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
89
|
+
expect(context.incoming.query.test).toBeTruthy();
|
|
90
|
+
});
|
|
91
|
+
it('should manipulate by schema using exec as string with utils', () => {
|
|
92
|
+
const operator = new operators.$set(operators, {
|
|
93
|
+
$location: 'incoming.query',
|
|
94
|
+
$path: 'test',
|
|
95
|
+
$exec: '_.isEqual({}, {})',
|
|
96
|
+
});
|
|
97
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
98
|
+
expect(context.incoming.query.test).toBeTruthy();
|
|
55
99
|
});
|
|
56
100
|
});
|
|
57
101
|
//# sourceMappingURL=set.operator.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.operator.spec.js","sourceRoot":"","sources":["../../../../src/expectations/operators/set.operator.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"set.operator.spec.js","sourceRoot":"","sources":["../../../../src/expectations/operators/set.operator.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ExpectationOperator } from '../models/operator';
|
|
2
|
+
import { CompileExpectationOperatorValue, IExpectationOperatorContext, IExpectationOperatorExecUtils, IExpectationOperatorsSchema, TExpectationOperatorLocation } from '../types';
|
|
3
|
+
export default class SwitchExpectationOperator<TContext extends PartialDeep<IExpectationOperatorContext> = {}, TPickLocation extends TExpectationOperatorLocation = TExpectationOperatorLocation, TPickValue = void, TForwardLocation extends TExpectationOperatorLocation = TExpectationOperatorLocation, TForwardValue = void> extends ExpectationOperator<TContext, {
|
|
4
|
+
[K in TPickLocation]: {
|
|
5
|
+
$location: K;
|
|
6
|
+
$cases: Partial<Record<Extract<CompileExpectationOperatorValue<TContext, K, TPickValue>, number | string> extends never ? (number | string) : Extract<CompileExpectationOperatorValue<TContext, K, TPickValue>, number | string>, IExpectationOperatorsSchema<TContext, TForwardLocation, TForwardValue>>>;
|
|
7
|
+
$default?: IExpectationOperatorsSchema<TContext, TForwardLocation, TForwardValue>;
|
|
8
|
+
$path?: string;
|
|
9
|
+
$exec?: string | TFunction<unknown, [
|
|
10
|
+
CompileExpectationOperatorValue<TContext, K, TPickValue>,
|
|
11
|
+
IExpectationOperatorExecUtils<TContext>
|
|
12
|
+
]>;
|
|
13
|
+
};
|
|
14
|
+
}[TPickLocation]> {
|
|
15
|
+
compiled: {
|
|
16
|
+
exec?: ((context: TContext, ...args: unknown[]) => any) | undefined;
|
|
17
|
+
default?: ExpectationOperator<TContext, any> | null | undefined;
|
|
18
|
+
cases: Record<string | number, ExpectationOperator<any, any>>;
|
|
19
|
+
};
|
|
20
|
+
match(context: TContext): boolean;
|
|
21
|
+
manipulate<T extends TContext>(context: T): T;
|
|
22
|
+
private handle;
|
|
23
|
+
private extractValue;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=switch.operator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.operator.d.ts","sourceRoot":"","sources":["../../../../src/expectations/operators/switch.operator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAE1F,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,OAAO,OAAO,yBAAyB,CAC5C,QAAQ,SAAS,WAAW,CAAC,2BAA2B,CAAC,GAAG,EAAE,EAC9D,aAAa,SAAS,4BAA4B,GAAG,4BAA4B,EACjF,UAAU,GAAG,IAAI,EACjB,gBAAgB,SAAS,4BAA4B,GAAG,4BAA4B,EACpF,aAAa,GAAG,IAAI,CACpB,SAAQ,mBAAmB,CAC3B,QAAQ,EACR;KACG,CAAC,IAAI,aAAa,GAAG;QACpB,SAAS,EAAE,CAAC,CAAC;QAEb,MAAM,EAAE,OAAO,CACb,MAAM,CACJ,OAAO,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,SAAS,KAAK,GAC5F,CAAC,MAAM,GAAG,MAAM,CAAC,GACjB,OAAO,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,EACtF,2BAA2B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,CAAC,CACvE,CACF,CAAC;QAEF,QAAQ,CAAC,EAAE,2BAA2B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAClF,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE;YAClC,+BAA+B,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,CAAC;YACxD,6BAA6B,CAAC,QAAQ,CAAC;SACxC,CAAC,CAAC;KACJ;CACF,CAAC,aAAa,CAAC,CACjB;IACQ,QAAQ;;;;MA4Bb;IAEK,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAKjC,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAOpD,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,YAAY;CAcrB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
7
|
+
const operator_1 = require("../models/operator");
|
|
8
|
+
const utils_1 = require("../utils");
|
|
9
|
+
class SwitchExpectationOperator extends operator_1.ExpectationOperator {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.compiled = {
|
|
13
|
+
cases: Object
|
|
14
|
+
.entries(this.command.$cases)
|
|
15
|
+
.reduce((acc, [key, schema]) => {
|
|
16
|
+
const extracted = this.extractNestedSchema(schema);
|
|
17
|
+
if (!extracted) {
|
|
18
|
+
return acc;
|
|
19
|
+
}
|
|
20
|
+
const Operator = this.operators[extracted.key];
|
|
21
|
+
return lodash_1.default.set(acc, key, new Operator(this.operators, extracted.nested));
|
|
22
|
+
}, {}),
|
|
23
|
+
...(this.command.$default && {
|
|
24
|
+
default: (() => {
|
|
25
|
+
const extracted = this.extractNestedSchema(this.command.$default);
|
|
26
|
+
if (!extracted) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const Operator = this.operators[extracted.key];
|
|
30
|
+
return new Operator(this.operators, extracted.nested);
|
|
31
|
+
})(),
|
|
32
|
+
}),
|
|
33
|
+
...(this.command.$exec && {
|
|
34
|
+
exec: this.compileExecHandler(this.command.$exec, ['payload', 'utils']),
|
|
35
|
+
}),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
match(context) {
|
|
39
|
+
const operator = this.handle(context);
|
|
40
|
+
return operator?.match(context) ?? false;
|
|
41
|
+
}
|
|
42
|
+
manipulate(context) {
|
|
43
|
+
const operator = this.handle(context);
|
|
44
|
+
operator?.manipulate(context);
|
|
45
|
+
return context;
|
|
46
|
+
}
|
|
47
|
+
handle(context) {
|
|
48
|
+
const value = this.extractValue(context);
|
|
49
|
+
if (value === null) {
|
|
50
|
+
return this.compiled.default ?? null;
|
|
51
|
+
}
|
|
52
|
+
return lodash_1.default.get(this.compiled.cases, String(value)) ?? this.compiled.default ?? null;
|
|
53
|
+
}
|
|
54
|
+
extractValue(context) {
|
|
55
|
+
const payload = (0, utils_1.extractContextByLocation)(this.command.$location, context);
|
|
56
|
+
if (!payload) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
if (this.compiled.exec) {
|
|
60
|
+
return this.compiled.exec(context, payload.value);
|
|
61
|
+
}
|
|
62
|
+
return this.command.$path
|
|
63
|
+
? payload.type === 'object' ? lodash_1.default.get(payload.value, this.command.$path) : payload.value
|
|
64
|
+
: payload.value;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.default = SwitchExpectationOperator;
|
|
68
|
+
//# sourceMappingURL=switch.operator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.operator.js","sourceRoot":"","sources":["../../../../src/expectations/operators/switch.operator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.operator.spec.d.ts","sourceRoot":"","sources":["../../../../src/expectations/operators/switch.operator.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const operators = __importStar(require("./index"));
|
|
27
|
+
describe('Expectations.Operators.Switch', () => {
|
|
28
|
+
describe('matching', () => {
|
|
29
|
+
it('should match by schema in incoming body using path', () => {
|
|
30
|
+
const operator = new operators.$switch(operators, {
|
|
31
|
+
$location: 'incoming.body',
|
|
32
|
+
$path: 'foo.bar',
|
|
33
|
+
$cases: {
|
|
34
|
+
'a': { $has: { $location: 'incoming.body', $path: 'baz', $value: 'a' } },
|
|
35
|
+
'b': { $has: { $location: 'incoming.body', $path: 'baz', $value: 'b' } },
|
|
36
|
+
},
|
|
37
|
+
$default: { $exec: () => true },
|
|
38
|
+
});
|
|
39
|
+
expect(operator.match({ incoming: { body: {} } })).toBeTruthy();
|
|
40
|
+
expect(operator.match({ incoming: { body: { baz: 'a', foo: { bar: 'a' } } } })).toBeTruthy();
|
|
41
|
+
expect(operator.match({ incoming: { body: { baz: 'b', foo: { bar: 'b' } } } })).toBeTruthy();
|
|
42
|
+
expect(operator.match({ incoming: { body: { foo: { bar: 'a' } } } })).toBeFalsy();
|
|
43
|
+
expect(operator.match({ incoming: { body: { baz: 'b', foo: { bar: 'a' } } } })).toBeFalsy();
|
|
44
|
+
expect(operator.match({ incoming: { body: { baz: 'a', foo: { bar: 'b' } } } })).toBeFalsy();
|
|
45
|
+
});
|
|
46
|
+
it('should match by schema in incoming body using exec', () => {
|
|
47
|
+
const operator = new operators.$switch(operators, {
|
|
48
|
+
$location: 'incoming.body',
|
|
49
|
+
$exec: (payload) => payload?.foo?.bar,
|
|
50
|
+
$cases: {
|
|
51
|
+
'a': { $has: { $location: 'incoming.body', $path: 'baz', $value: 'a' } },
|
|
52
|
+
'b': { $has: { $location: 'incoming.body', $path: 'baz', $value: 'b' } },
|
|
53
|
+
},
|
|
54
|
+
$default: { $exec: () => true },
|
|
55
|
+
});
|
|
56
|
+
expect(operator.match({ incoming: { body: {} } })).toBeTruthy();
|
|
57
|
+
expect(operator.match({ incoming: { body: { baz: 'a', foo: { bar: 'a' } } } })).toBeTruthy();
|
|
58
|
+
expect(operator.match({ incoming: { body: { baz: 'b', foo: { bar: 'b' } } } })).toBeTruthy();
|
|
59
|
+
expect(operator.match({ incoming: { body: { foo: { bar: 'a' } } } })).toBeFalsy();
|
|
60
|
+
expect(operator.match({ incoming: { body: { baz: 'b', foo: { bar: 'a' } } } })).toBeFalsy();
|
|
61
|
+
expect(operator.match({ incoming: { body: { baz: 'a', foo: { bar: 'b' } } } })).toBeFalsy();
|
|
62
|
+
});
|
|
63
|
+
it('should match by schema in incoming body using exec with utils', () => {
|
|
64
|
+
const operator = new operators.$switch(operators, {
|
|
65
|
+
$location: 'incoming.body',
|
|
66
|
+
$exec: (payload, { _ }) => _.get(payload, 'foo.bar'),
|
|
67
|
+
$cases: {
|
|
68
|
+
'a': { $has: { $location: 'incoming.body', $path: 'baz', $value: 'a' } },
|
|
69
|
+
'b': { $has: { $location: 'incoming.body', $path: 'baz', $value: 'b' } },
|
|
70
|
+
},
|
|
71
|
+
$default: { $exec: () => true },
|
|
72
|
+
});
|
|
73
|
+
expect(operator.match({ incoming: { body: {} } })).toBeTruthy();
|
|
74
|
+
expect(operator.match({ incoming: { body: { baz: 'a', foo: { bar: 'a' } } } })).toBeTruthy();
|
|
75
|
+
expect(operator.match({ incoming: { body: { baz: 'b', foo: { bar: 'b' } } } })).toBeTruthy();
|
|
76
|
+
expect(operator.match({ incoming: { body: { foo: { bar: 'a' } } } })).toBeFalsy();
|
|
77
|
+
expect(operator.match({ incoming: { body: { baz: 'b', foo: { bar: 'a' } } } })).toBeFalsy();
|
|
78
|
+
expect(operator.match({ incoming: { body: { baz: 'a', foo: { bar: 'b' } } } })).toBeFalsy();
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
describe('manipulation', () => {
|
|
82
|
+
it('should manipulate by schema in incoming body using path', () => {
|
|
83
|
+
const operator = new operators.$switch(operators, {
|
|
84
|
+
$location: 'incoming.body',
|
|
85
|
+
$path: 'foo.bar',
|
|
86
|
+
$cases: {
|
|
87
|
+
'a': { $set: { $location: 'incoming.body', $path: 'baz', $value: 'a' } },
|
|
88
|
+
'b': { $set: { $location: 'incoming.body', $path: 'baz', $value: 'b' } },
|
|
89
|
+
},
|
|
90
|
+
$default: { $exec: ({ context }) => context.default = true },
|
|
91
|
+
});
|
|
92
|
+
expect(operator.manipulate({ incoming: { body: {} } }).default).toBeTruthy();
|
|
93
|
+
expect(operator.manipulate({ incoming: { body: { foo: { bar: 'a' } } } }).incoming.body.baz).toEqual('a');
|
|
94
|
+
expect(operator.manipulate({ incoming: { body: { foo: { bar: 'b' } } } }).incoming.body.baz).toEqual('b');
|
|
95
|
+
expect(operator.manipulate({ incoming: { body: { foo: { bar: 'c' } } } }).incoming.body.baz).toBeUndefined();
|
|
96
|
+
});
|
|
97
|
+
it('should match by schema in incoming body using exec', () => {
|
|
98
|
+
const operator = new operators.$switch(operators, {
|
|
99
|
+
$location: 'incoming.body',
|
|
100
|
+
$exec: (payload) => payload?.foo?.bar,
|
|
101
|
+
$cases: {
|
|
102
|
+
'a': { $set: { $location: 'incoming.body', $path: 'baz', $value: 'a' } },
|
|
103
|
+
'b': { $set: { $location: 'incoming.body', $path: 'baz', $value: 'b' } },
|
|
104
|
+
},
|
|
105
|
+
$default: { $exec: ({ context }) => context.default = true },
|
|
106
|
+
});
|
|
107
|
+
expect(operator.manipulate({ incoming: { body: {} } }).default).toBeTruthy();
|
|
108
|
+
expect(operator.manipulate({ incoming: { body: { foo: { bar: 'a' } } } }).incoming.body.baz).toEqual('a');
|
|
109
|
+
expect(operator.manipulate({ incoming: { body: { foo: { bar: 'b' } } } }).incoming.body.baz).toEqual('b');
|
|
110
|
+
expect(operator.manipulate({ incoming: { body: { foo: { bar: 'c' } } } }).incoming.body.baz).toBeUndefined();
|
|
111
|
+
});
|
|
112
|
+
it('should match by schema in incoming body using exec with utils', () => {
|
|
113
|
+
const operator = new operators.$switch(operators, {
|
|
114
|
+
$location: 'incoming.body',
|
|
115
|
+
$exec: (payload, { _ }) => _.get(payload, 'foo.bar'),
|
|
116
|
+
$cases: {
|
|
117
|
+
'a': { $set: { $location: 'incoming.body', $path: 'baz', $value: 'a' } },
|
|
118
|
+
'b': { $set: { $location: 'incoming.body', $path: 'baz', $value: 'b' } },
|
|
119
|
+
},
|
|
120
|
+
$default: { $exec: ({ context }) => context.default = true },
|
|
121
|
+
});
|
|
122
|
+
expect(operator.manipulate({ incoming: { body: {} } }).default).toBeTruthy();
|
|
123
|
+
expect(operator.manipulate({ incoming: { body: { foo: { bar: 'a' } } } }).incoming.body.baz).toEqual('a');
|
|
124
|
+
expect(operator.manipulate({ incoming: { body: { foo: { bar: 'b' } } } }).incoming.body.baz).toEqual('b');
|
|
125
|
+
expect(operator.manipulate({ incoming: { body: { foo: { bar: 'c' } } } }).incoming.body.baz).toBeUndefined();
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=switch.operator.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.operator.spec.js","sourceRoot":"","sources":["../../../../src/expectations/operators/switch.operator.spec.ts"],"names":[],"mappings":"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"}
|