mongodb-dynamic-api 4.24.1 → 5.1.0
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/CHANGELOG.md +154 -0
- package/README.md +79 -2
- package/codemods/migrate-v5/cli.d.ts +3 -0
- package/codemods/migrate-v5/cli.js +38 -0
- package/codemods/migrate-v5/cli.js.map +1 -0
- package/codemods/migrate-v5/migrate-v5.d.ts +18 -0
- package/codemods/migrate-v5/migrate-v5.js +263 -0
- package/codemods/migrate-v5/migrate-v5.js.map +1 -0
- package/codemods/migrate-v5/removed-symbols.d.ts +7 -0
- package/codemods/migrate-v5/removed-symbols.js +122 -0
- package/codemods/migrate-v5/removed-symbols.js.map +1 -0
- package/package.json +44 -55
- package/schematics/resource/files/__name@dasherize__.entity.ts.template +3 -3
- package/schematics.tsbuildinfo +1 -1
- package/src/adapters/socket-adapter.js +5 -6
- package/src/adapters/socket-adapter.js.map +1 -1
- package/src/builders/route-decorators/auth-decorators.builder.d.ts +1 -1
- package/src/builders/route-decorators/route-decorators.builder.d.ts +2 -1
- package/src/builders/route-decorators/route-decorators.builder.js +5 -4
- package/src/builders/route-decorators/route-decorators.builder.js.map +1 -1
- package/src/decorators/entity-exists.decorator.js +2 -2
- package/src/decorators/entity-exists.decorator.js.map +1 -1
- package/src/decorators/index.d.ts +2 -5
- package/src/decorators/index.js +4 -5
- package/src/decorators/index.js.map +1 -1
- package/src/decorators/is-unique.decorator.js +2 -2
- package/src/decorators/is-unique.decorator.js.map +1 -1
- package/src/decorators/schema.decorator.d.ts +5 -0
- package/src/decorators/schema.decorator.js +15 -0
- package/src/decorators/schema.decorator.js.map +1 -0
- package/src/dtos/index.d.ts +0 -4
- package/src/dtos/index.js +0 -4
- package/src/dtos/index.js.map +1 -1
- package/src/dynamic-api.module.d.ts +1 -1
- package/src/dynamic-api.module.js +25 -20
- package/src/dynamic-api.module.js.map +1 -1
- package/src/gateways/base.gateway.js +9 -8
- package/src/gateways/base.gateway.js.map +1 -1
- package/src/gateways/dynamic-api-broadcast.gateway.d.ts +2 -2
- package/src/gateways/dynamic-api-broadcast.gateway.js +5 -5
- package/src/gateways/dynamic-api-broadcast.gateway.js.map +1 -1
- package/src/guards/base-policies.guard.d.ts +1 -1
- package/src/guards/base-policies.guard.js +5 -5
- package/src/guards/base-policies.guard.js.map +1 -1
- package/src/guards/dynamic-api-jwt-auth.guard.d.ts +1 -1
- package/src/guards/dynamic-api-jwt-auth.guard.js +7 -4
- package/src/guards/dynamic-api-jwt-auth.guard.js.map +1 -1
- package/src/guards/jwt-socket.guard.d.ts +1 -1
- package/src/guards/jwt-socket.guard.js +9 -10
- package/src/guards/jwt-socket.guard.js.map +1 -1
- package/src/helpers/event-registry.store.js +2 -2
- package/src/helpers/event-registry.store.js.map +1 -1
- package/src/helpers/index-sync.helper.js +4 -4
- package/src/helpers/index-sync.helper.js.map +1 -1
- package/src/helpers/index.d.ts +4 -21
- package/src/helpers/index.js +8 -21
- package/src/helpers/index.js.map +1 -1
- package/src/helpers/mint-token-pair.helper.js +12 -12
- package/src/helpers/mint-token-pair.helper.js.map +1 -1
- package/src/helpers/mixin-data.helper.d.ts +2 -2
- package/src/helpers/mixin-data.helper.js +2 -2
- package/src/helpers/mixin-data.helper.js.map +1 -1
- package/src/helpers/mongo-transaction.helper.js.map +1 -1
- package/src/helpers/paging-presenter-warning.helper.js +2 -2
- package/src/helpers/paging-presenter-warning.helper.js.map +1 -1
- package/src/helpers/repository.helper.js +2 -2
- package/src/helpers/repository.helper.js.map +1 -1
- package/src/helpers/route-decorators.helper.d.ts +1 -1
- package/src/helpers/schema.helper.js.map +1 -1
- package/src/helpers/socket-config.helper.d.ts +0 -1
- package/src/helpers/socket-config.helper.js +9 -19
- package/src/helpers/socket-config.helper.js.map +1 -1
- package/src/helpers/swagger-config.helper.d.ts +2 -2
- package/src/helpers/swagger-config.helper.js.map +1 -1
- package/src/helpers/validation-config.helper.js.map +1 -1
- package/src/helpers/versioning-config.helper.js.map +1 -1
- package/src/index.d.ts +0 -9
- package/src/index.js +0 -9
- package/src/index.js.map +1 -1
- package/src/interceptors/dynamic-api-cache.interceptor.d.ts +1 -1
- package/src/interceptors/dynamic-api-cache.interceptor.js +4 -0
- package/src/interceptors/dynamic-api-cache.interceptor.js.map +1 -1
- package/src/interfaces/dynamic-api-options.interface.d.ts +2 -2
- package/src/interfaces/dynamic-api-presence.interface.d.ts +1 -0
- package/src/interfaces/dynamic-api-presence.interface.js.map +1 -1
- package/src/interfaces/dynamic-api-route-config.interface.d.ts +1 -2
- package/src/interfaces/dynamic-api-route-config.interface.js.map +1 -1
- package/src/interfaces/dynamic-api-schema-options.interface.d.ts +2 -3
- package/src/interfaces/dynamic-api-service-before-save-callback.interface.d.ts +1 -15
- package/src/interfaces/dynamic-api-service-callback.interface.d.ts +1 -3
- package/src/interfaces/dynamic-api-service-provider.interface.d.ts +1 -2
- package/src/interfaces/dynamic-api-swagger-options.type.d.ts +1 -3
- package/src/interfaces/index.d.ts +4 -7
- package/src/interfaces/index.js +0 -7
- package/src/interfaces/index.js.map +1 -1
- package/src/logger/index.d.ts +1 -1
- package/src/logger/index.js +0 -15
- package/src/logger/index.js.map +1 -1
- package/src/mixins/policies-guard.mixin.d.ts +2 -1
- package/src/mixins/policies-guard.mixin.js +3 -3
- package/src/mixins/policies-guard.mixin.js.map +1 -1
- package/src/models/base-entity.model.js.map +1 -1
- package/src/models/soft-deletable-entity.model.js.map +1 -1
- package/src/modules/auth/auth-broadcast.helper.js +2 -2
- package/src/modules/auth/auth-broadcast.helper.js.map +1 -1
- package/src/modules/auth/auth.helper.d.ts +3 -3
- package/src/modules/auth/auth.helper.js +12 -11
- package/src/modules/auth/auth.helper.js.map +1 -1
- package/src/modules/auth/auth.module.js +15 -11
- package/src/modules/auth/auth.module.js.map +1 -1
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.d.ts +1 -1
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js +7 -8
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js.map +1 -1
- package/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.js +4 -4
- package/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.js.map +1 -1
- package/src/modules/auth/interfaces/auth-controller.interface.d.ts +1 -1
- package/src/modules/auth/interfaces/auth-gateway.interface.d.ts +2 -1
- package/src/modules/auth/mixins/auth-controller.mixin.js +23 -17
- package/src/modules/auth/mixins/auth-controller.mixin.js.map +1 -1
- package/src/modules/auth/mixins/auth-gateway.mixin.js +8 -6
- package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -1
- package/src/modules/auth/mixins/auth-policies-guard.mixin.d.ts +2 -1
- package/src/modules/auth/mixins/auth-policies-guard.mixin.js +1 -1
- package/src/modules/auth/mixins/auth-policies-guard.mixin.js.map +1 -1
- package/src/modules/auth/models/otp-code.model.d.ts +4 -4
- package/src/modules/auth/services/base-auth.service.d.ts +2 -1
- package/src/modules/auth/services/base-auth.service.js +8 -6
- package/src/modules/auth/services/base-auth.service.js.map +1 -1
- package/src/modules/dynamic-api-config/dynamic-api-config.module.d.ts +1 -1
- package/src/modules/dynamic-api-config/dynamic-api-config.module.js +3 -3
- package/src/modules/dynamic-api-config/dynamic-api-config.module.js.map +1 -1
- package/src/modules/health/index.d.ts +1 -2
- package/src/modules/health/index.js +3 -16
- package/src/modules/health/index.js.map +1 -1
- package/src/modules/presence/index.d.ts +1 -5
- package/src/modules/presence/index.js +3 -19
- package/src/modules/presence/index.js.map +1 -1
- package/src/modules/presence/presence.gateway.d.ts +1 -1
- package/src/modules/presence/presence.gateway.js +5 -5
- package/src/modules/presence/presence.gateway.js.map +1 -1
- package/src/modules/presence/presence.module.js +10 -9
- package/src/modules/presence/presence.module.js.map +1 -1
- package/src/routes/aggregate/aggregate-controller.mixin.d.ts +2 -2
- package/src/routes/aggregate/aggregate-controller.mixin.js +12 -8
- package/src/routes/aggregate/aggregate-controller.mixin.js.map +1 -1
- package/src/routes/aggregate/aggregate-gateway.interface.d.ts +2 -1
- package/src/routes/aggregate/aggregate-gateway.mixin.d.ts +2 -2
- package/src/routes/aggregate/aggregate-gateway.mixin.js +10 -7
- package/src/routes/aggregate/aggregate-gateway.mixin.js.map +1 -1
- package/src/routes/aggregate/aggregate.helper.d.ts +5 -4
- package/src/routes/aggregate/aggregate.helper.js +10 -10
- package/src/routes/aggregate/aggregate.helper.js.map +1 -1
- package/src/routes/aggregate/aggregate.module.d.ts +2 -2
- package/src/routes/aggregate/aggregate.module.js +4 -3
- package/src/routes/aggregate/aggregate.module.js.map +1 -1
- package/src/routes/aggregate/base-aggregate.service.d.ts +1 -1
- package/src/routes/aggregate/base-aggregate.service.js +2 -2
- package/src/routes/aggregate/base-aggregate.service.js.map +1 -1
- package/src/routes/create-many/base-create-many.service.d.ts +1 -1
- package/src/routes/create-many/base-create-many.service.js +5 -5
- package/src/routes/create-many/base-create-many.service.js.map +1 -1
- package/src/routes/create-many/create-many-controller.interface.d.ts +1 -1
- package/src/routes/create-many/create-many-controller.mixin.d.ts +2 -2
- package/src/routes/create-many/create-many-controller.mixin.js +16 -11
- package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-gateway.interface.d.ts +2 -1
- package/src/routes/create-many/create-many-gateway.mixin.d.ts +2 -2
- package/src/routes/create-many/create-many-gateway.mixin.js +10 -7
- package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
- package/src/routes/create-many/create-many.helper.d.ts +5 -4
- package/src/routes/create-many/create-many.helper.js +13 -13
- package/src/routes/create-many/create-many.helper.js.map +1 -1
- package/src/routes/create-many/create-many.module.js +6 -5
- package/src/routes/create-many/create-many.module.js.map +1 -1
- package/src/routes/create-one/base-create-one.service.d.ts +1 -1
- package/src/routes/create-one/base-create-one.service.js +5 -5
- package/src/routes/create-one/base-create-one.service.js.map +1 -1
- package/src/routes/create-one/create-one-controller.interface.d.ts +1 -1
- package/src/routes/create-one/create-one-controller.mixin.d.ts +2 -2
- package/src/routes/create-one/create-one-controller.mixin.js +14 -10
- package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
- package/src/routes/create-one/create-one-gateway.interface.d.ts +2 -1
- package/src/routes/create-one/create-one-gateway.mixin.d.ts +2 -2
- package/src/routes/create-one/create-one-gateway.mixin.js +10 -7
- package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
- package/src/routes/create-one/create-one.helper.d.ts +5 -4
- package/src/routes/create-one/create-one.helper.js +13 -13
- package/src/routes/create-one/create-one.helper.js.map +1 -1
- package/src/routes/create-one/create-one.module.js +6 -5
- package/src/routes/create-one/create-one.module.js.map +1 -1
- package/src/routes/custom/create-custom-route-controller.js +15 -13
- package/src/routes/custom/create-custom-route-controller.js.map +1 -1
- package/src/routes/custom/create-custom-route-gateway.js +12 -10
- package/src/routes/custom/create-custom-route-gateway.js.map +1 -1
- package/src/routes/custom/custom-route-callback.service.d.ts +1 -1
- package/src/routes/custom/custom-route-callback.service.js +2 -2
- package/src/routes/custom/custom-route-callback.service.js.map +1 -1
- package/src/routes/delete-many/base-delete-many.service.d.ts +2 -2
- package/src/routes/delete-many/base-delete-many.service.js +5 -5
- package/src/routes/delete-many/base-delete-many.service.js.map +1 -1
- package/src/routes/delete-many/delete-many-controller.interface.d.ts +2 -2
- package/src/routes/delete-many/delete-many-controller.mixin.d.ts +2 -2
- package/src/routes/delete-many/delete-many-controller.mixin.js +14 -10
- package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many-gateway.interface.d.ts +3 -2
- package/src/routes/delete-many/delete-many-gateway.mixin.d.ts +2 -2
- package/src/routes/delete-many/delete-many-gateway.mixin.js +10 -7
- package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many.helper.d.ts +5 -4
- package/src/routes/delete-many/delete-many.helper.js +13 -13
- package/src/routes/delete-many/delete-many.helper.js.map +1 -1
- package/src/routes/delete-many/delete-many.module.js +6 -5
- package/src/routes/delete-many/delete-many.module.js.map +1 -1
- package/src/routes/delete-one/base-delete-one.service.d.ts +2 -2
- package/src/routes/delete-one/base-delete-one.service.js +5 -5
- package/src/routes/delete-one/base-delete-one.service.js.map +1 -1
- package/src/routes/delete-one/delete-one-controller.interface.d.ts +1 -1
- package/src/routes/delete-one/delete-one-controller.mixin.d.ts +2 -2
- package/src/routes/delete-one/delete-one-controller.mixin.js +14 -10
- package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one-gateway.interface.d.ts +3 -2
- package/src/routes/delete-one/delete-one-gateway.mixin.d.ts +2 -2
- package/src/routes/delete-one/delete-one-gateway.mixin.js +10 -7
- package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one.helper.d.ts +5 -4
- package/src/routes/delete-one/delete-one.helper.js +13 -13
- package/src/routes/delete-one/delete-one.helper.js.map +1 -1
- package/src/routes/delete-one/delete-one.module.js +6 -5
- package/src/routes/delete-one/delete-one.module.js.map +1 -1
- package/src/routes/duplicate-many/base-duplicate-many.service.d.ts +1 -1
- package/src/routes/duplicate-many/base-duplicate-many.service.js +4 -4
- package/src/routes/duplicate-many/base-duplicate-many.service.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.interface.d.ts +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.d.ts +2 -2
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +16 -11
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-gateway.interface.d.ts +3 -2
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.d.ts +2 -2
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +10 -7
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many.helper.d.ts +5 -4
- package/src/routes/duplicate-many/duplicate-many.helper.js +13 -13
- package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many.module.js +6 -5
- package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
- package/src/routes/duplicate-one/base-duplicate-one.service.d.ts +1 -1
- package/src/routes/duplicate-one/base-duplicate-one.service.js +4 -4
- package/src/routes/duplicate-one/base-duplicate-one.service.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.interface.d.ts +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.d.ts +2 -2
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +18 -13
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-gateway.interface.d.ts +3 -2
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.d.ts +2 -2
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +10 -7
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.helper.d.ts +5 -4
- package/src/routes/duplicate-one/duplicate-one.helper.js +13 -13
- package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.module.js +6 -5
- package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
- package/src/routes/get-many/base-get-many.service.d.ts +1 -1
- package/src/routes/get-many/base-get-many.service.js +2 -2
- package/src/routes/get-many/base-get-many.service.js.map +1 -1
- package/src/routes/get-many/get-many-controller.mixin.d.ts +2 -2
- package/src/routes/get-many/get-many-controller.mixin.js +13 -10
- package/src/routes/get-many/get-many-controller.mixin.js.map +1 -1
- package/src/routes/get-many/get-many-gateway.interface.d.ts +2 -1
- package/src/routes/get-many/get-many-gateway.mixin.d.ts +2 -2
- package/src/routes/get-many/get-many-gateway.mixin.js +10 -8
- package/src/routes/get-many/get-many-gateway.mixin.js.map +1 -1
- package/src/routes/get-many/get-many.helper.d.ts +5 -4
- package/src/routes/get-many/get-many.helper.js +10 -10
- package/src/routes/get-many/get-many.helper.js.map +1 -1
- package/src/routes/get-many/get-many.module.js +4 -3
- package/src/routes/get-many/get-many.module.js.map +1 -1
- package/src/routes/get-one/base-get-one.service.d.ts +1 -1
- package/src/routes/get-one/base-get-one.service.js +2 -2
- package/src/routes/get-one/base-get-one.service.js.map +1 -1
- package/src/routes/get-one/get-one-controller.mixin.d.ts +2 -2
- package/src/routes/get-one/get-one-controller.mixin.js +11 -8
- package/src/routes/get-one/get-one-controller.mixin.js.map +1 -1
- package/src/routes/get-one/get-one-gateway.interface.d.ts +3 -2
- package/src/routes/get-one/get-one-gateway.mixin.d.ts +2 -2
- package/src/routes/get-one/get-one-gateway.mixin.js +9 -7
- package/src/routes/get-one/get-one-gateway.mixin.js.map +1 -1
- package/src/routes/get-one/get-one.helper.d.ts +5 -4
- package/src/routes/get-one/get-one.helper.js +10 -10
- package/src/routes/get-one/get-one.helper.js.map +1 -1
- package/src/routes/get-one/get-one.module.js +4 -3
- package/src/routes/get-one/get-one.module.js.map +1 -1
- package/src/routes/replace-one/base-replace-one.service.d.ts +1 -1
- package/src/routes/replace-one/base-replace-one.service.js +5 -5
- package/src/routes/replace-one/base-replace-one.service.js.map +1 -1
- package/src/routes/replace-one/replace-one-controller.interface.d.ts +1 -1
- package/src/routes/replace-one/replace-one-controller.mixin.d.ts +2 -2
- package/src/routes/replace-one/replace-one-controller.mixin.js +16 -12
- package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one-gateway.interface.d.ts +3 -2
- package/src/routes/replace-one/replace-one-gateway.mixin.d.ts +2 -2
- package/src/routes/replace-one/replace-one-gateway.mixin.js +8 -6
- package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one.helper.d.ts +5 -4
- package/src/routes/replace-one/replace-one.helper.js +13 -13
- package/src/routes/replace-one/replace-one.helper.js.map +1 -1
- package/src/routes/replace-one/replace-one.module.js +6 -5
- package/src/routes/replace-one/replace-one.module.js.map +1 -1
- package/src/routes/update-many/base-update-many.service.d.ts +1 -1
- package/src/routes/update-many/base-update-many.service.js +4 -4
- package/src/routes/update-many/base-update-many.service.js.map +1 -1
- package/src/routes/update-many/update-many-controller.interface.d.ts +1 -1
- package/src/routes/update-many/update-many-controller.mixin.d.ts +2 -2
- package/src/routes/update-many/update-many-controller.mixin.js +16 -11
- package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
- package/src/routes/update-many/update-many-gateway.interface.d.ts +3 -2
- package/src/routes/update-many/update-many-gateway.mixin.d.ts +2 -2
- package/src/routes/update-many/update-many-gateway.mixin.js +10 -7
- package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
- package/src/routes/update-many/update-many.helper.d.ts +5 -4
- package/src/routes/update-many/update-many.helper.js +13 -13
- package/src/routes/update-many/update-many.helper.js.map +1 -1
- package/src/routes/update-many/update-many.module.js +6 -5
- package/src/routes/update-many/update-many.module.js.map +1 -1
- package/src/routes/update-one/base-update-one.service.d.ts +1 -1
- package/src/routes/update-one/base-update-one.service.js +5 -5
- package/src/routes/update-one/base-update-one.service.js.map +1 -1
- package/src/routes/update-one/update-one-controller.interface.d.ts +1 -1
- package/src/routes/update-one/update-one-controller.mixin.d.ts +2 -2
- package/src/routes/update-one/update-one-controller.mixin.js +18 -13
- package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
- package/src/routes/update-one/update-one-gateway.interface.d.ts +3 -2
- package/src/routes/update-one/update-one-gateway.mixin.d.ts +2 -2
- package/src/routes/update-one/update-one-gateway.mixin.js +8 -6
- package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
- package/src/routes/update-one/update-one.helper.d.ts +5 -4
- package/src/routes/update-one/update-one.helper.js +13 -13
- package/src/routes/update-one/update-one.helper.js.map +1 -1
- package/src/routes/update-one/update-one.module.js +6 -5
- package/src/routes/update-one/update-one.module.js.map +1 -1
- package/src/services/base/base.service.js +3 -4
- package/src/services/base/base.service.js.map +1 -1
- package/src/services/bcrypt/bcrypt.service.js.map +1 -1
- package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js +4 -4
- package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js.map +1 -1
- package/src/services/dynamic-api-cache/dynamic-api-cache.service.js +2 -2
- package/src/services/dynamic-api-cache/dynamic-api-cache.service.js.map +1 -1
- package/src/services/dynamic-api-entity/dynamic-api-entity.service.d.ts +6 -0
- package/src/services/dynamic-api-entity/dynamic-api-entity.service.js +11 -0
- package/src/services/dynamic-api-entity/dynamic-api-entity.service.js.map +1 -0
- package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.d.ts +6 -2
- package/src/services/index.d.ts +1 -2
- package/src/services/index.js +1 -2
- package/src/services/index.js.map +1 -1
- package/src/testing/create-dynamic-api-testing-app.js +1 -1
- package/src/testing/create-dynamic-api-testing-app.js.map +1 -1
- package/src/utils/index.d.ts +0 -1
- package/src/utils/index.js +0 -1
- package/src/utils/index.js.map +1 -1
- package/src/version.json +1 -1
- package/test/e2e.setup.d.ts +3 -3
- package/test/e2e.setup.js +8 -7
- package/test/e2e.setup.js.map +1 -1
- package/test/for-feature/ability-predicate-filter.e2e-spec.js +20 -20
- package/test/for-feature/ability-predicate-filter.e2e-spec.js.map +1 -1
- package/test/for-feature/ability-predicates.e2e-spec.js +28 -27
- package/test/for-feature/ability-predicates.e2e-spec.js.map +1 -1
- package/test/for-feature/after-save-callback-reliability.e2e-spec.js +35 -34
- package/test/for-feature/after-save-callback-reliability.e2e-spec.js.map +1 -1
- package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.js +20 -19
- package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.js.map +1 -1
- package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.js +11 -10
- package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.js.map +1 -1
- package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.js +18 -17
- package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.js.map +1 -1
- package/test/for-feature/audit-log.e2e-spec.js +26 -25
- package/test/for-feature/audit-log.e2e-spec.js.map +1 -1
- package/test/for-feature/base-entity.e2e-spec.js +126 -125
- package/test/for-feature/base-entity.e2e-spec.js.map +1 -1
- package/test/for-feature/broadcast-event-registry.e2e-spec.js +20 -19
- package/test/for-feature/broadcast-event-registry.e2e-spec.js.map +1 -1
- package/test/for-feature/cache-identity-key.e2e-spec.js +22 -21
- package/test/for-feature/cache-identity-key.e2e-spec.js.map +1 -1
- package/test/for-feature/cache-scoped-invalidation.e2e-spec.js +33 -32
- package/test/for-feature/cache-scoped-invalidation.e2e-spec.js.map +1 -1
- package/test/for-feature/callbacks-user.e2e-spec.js +159 -158
- package/test/for-feature/callbacks-user.e2e-spec.js.map +1 -1
- package/test/for-feature/cascade-and-before-delete.e2e-spec.js +47 -46
- package/test/for-feature/cascade-and-before-delete.e2e-spec.js.map +1 -1
- package/test/for-feature/cascade-transaction-atomicity.e2e-spec.js +17 -16
- package/test/for-feature/cascade-transaction-atomicity.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.js +17 -16
- package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-route-inject.e2e-spec.js +9 -8
- package/test/for-feature/custom-route-inject.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-route-params-openapi.e2e-spec.js +10 -9
- package/test/for-feature/custom-route-params-openapi.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-route-target-param.e2e-spec.js +14 -13
- package/test/for-feature/custom-route-target-param.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-routes.e2e-spec.js +38 -38
- package/test/for-feature/custom-routes.e2e-spec.js.map +1 -1
- package/test/for-feature/db-aware-validators.e2e-spec.js +40 -39
- package/test/for-feature/db-aware-validators.e2e-spec.js.map +1 -1
- package/test/for-feature/derived-fields-protected-from-user.e2e-spec.js +39 -38
- package/test/for-feature/derived-fields-protected-from-user.e2e-spec.js.map +1 -1
- package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js +25 -24
- package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js.map +1 -1
- package/test/for-feature/exclude-from-response.e2e-spec.js +21 -20
- package/test/for-feature/exclude-from-response.e2e-spec.js.map +1 -1
- package/test/for-feature/http-broadcast.e2e-spec.js +62 -61
- package/test/for-feature/http-broadcast.e2e-spec.js.map +1 -1
- package/test/for-feature/index-sync.e2e-spec.js +39 -28
- package/test/for-feature/index-sync.e2e-spec.js.map +1 -1
- package/test/for-feature/paging-query-helper.e2e-spec.js +21 -20
- package/test/for-feature/paging-query-helper.e2e-spec.js.map +1 -1
- package/test/for-feature/populate.e2e-spec.js +18 -17
- package/test/for-feature/populate.e2e-spec.js.map +1 -1
- package/test/for-feature/presence.e2e-spec.js +40 -18
- package/test/for-feature/presence.e2e-spec.js.map +1 -1
- package/test/for-feature/raw-update-callback-methods.e2e-spec.js +49 -48
- package/test/for-feature/raw-update-callback-methods.e2e-spec.js.map +1 -1
- package/test/for-feature/room-broadcast.e2e-spec.js +61 -60
- package/test/for-feature/room-broadcast.e2e-spec.js.map +1 -1
- package/test/for-feature/soft-deletable-entity.e2e-spec.js +136 -135
- package/test/for-feature/soft-deletable-entity.e2e-spec.js.map +1 -1
- package/test/for-feature/websockets.e2e-spec.js +54 -53
- package/test/for-feature/websockets.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-basic.e2e-spec.js +94 -93
- package/test/for-root/auth-api-basic.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-broadcast.e2e-spec.js +24 -23
- package/test/for-root/auth-api-broadcast.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-login.e2e-spec.js +99 -97
- package/test/for-root/auth-api-login.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-logout.e2e-spec.js +18 -17
- package/test/for-root/auth-api-logout.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-mint-token-pair.e2e-spec.js +17 -16
- package/test/for-root/auth-api-mint-token-pair.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-passwordless.e2e-spec.js +37 -36
- package/test/for-root/auth-api-passwordless.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-rate-limit.e2e-spec.js +14 -13
- package/test/for-root/auth-api-rate-limit.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-refresh-token-cookie.e2e-spec.js +27 -26
- package/test/for-root/auth-api-refresh-token-cookie.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-refresh-token.e2e-spec.js +93 -54
- package/test/for-root/auth-api-refresh-token.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-register.e2e-spec.js +29 -27
- package/test/for-root/auth-api-register.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-reset-password.e2e-spec.js +50 -48
- package/test/for-root/auth-api-reset-password.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-update-account-derived-field.e2e-spec.js +9 -8
- package/test/for-root/auth-api-update-account-derived-field.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-update-account.e2e-spec.js +38 -37
- package/test/for-root/auth-api-update-account.e2e-spec.js.map +1 -1
- package/test/for-root/health-check.e2e-spec.js +21 -20
- package/test/for-root/health-check.e2e-spec.js.map +1 -1
- package/test/for-root/initialization.e2e-spec.js +10 -9
- package/test/for-root/initialization.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-basic.e2e-spec.js +115 -114
- package/test/for-root/websockets-auth-basic.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-broadcast.e2e-spec.js +26 -25
- package/test/for-root/websockets-auth-broadcast.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-login.e2e-spec.js +40 -38
- package/test/for-root/websockets-auth-login.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-refresh-token.e2e-spec.js +22 -21
- package/test/for-root/websockets-auth-refresh-token.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-register.e2e-spec.js +36 -34
- package/test/for-root/websockets-auth-register.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-reset-password.e2e-spec.js +56 -54
- package/test/for-root/websockets-auth-reset-password.e2e-spec.js.map +1 -1
- package/test/helpers/create-mock.helper.d.ts +12 -0
- package/test/helpers/create-mock.helper.js +58 -0
- package/test/helpers/create-mock.helper.js.map +1 -0
- package/test/helpers/index.d.ts +1 -0
- package/test/helpers/index.js +18 -0
- package/test/helpers/index.js.map +1 -0
- package/test/helpers/register-ts-require-hook.d.ts +1 -0
- package/test/helpers/register-ts-require-hook.js +20 -0
- package/test/helpers/register-ts-require-hook.js.map +1 -0
- package/test/shared/entities/refresh-token-user.factory.d.ts +1 -0
- package/test/shared/entities/refresh-token-user.factory.js +4 -0
- package/test/shared/entities/refresh-token-user.factory.js.map +1 -1
- package/test/testing/create-dynamic-api-testing-app.e2e-spec.js +17 -15
- package/test/testing/create-dynamic-api-testing-app.e2e-spec.js.map +1 -1
- package/test/utils.d.ts +5 -1
- package/test/utils.js +2 -2
- package/test/utils.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/src/decorators/schema-options.decorator.d.ts +0 -5
- package/src/decorators/schema-options.decorator.js +0 -14
- package/src/decorators/schema-options.decorator.js.map +0 -1
- package/src/utils/deep-patial.d.ts +0 -1
- package/src/utils/deep-patial.js +0 -3
- package/src/utils/deep-patial.js.map +0 -1
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
3
4
|
const jwt_1 = require("@nestjs/jwt");
|
|
4
5
|
const mongoose_1 = require("mongoose");
|
|
5
6
|
const src_1 = require("../../src");
|
|
7
|
+
const bcrypt_service_1 = require("../../src/services/bcrypt/bcrypt.service");
|
|
6
8
|
const socket_adapter_1 = require("../../src/adapters/socket-adapter");
|
|
7
9
|
const e2e_setup_1 = require("../e2e.setup");
|
|
8
10
|
require("dotenv/config");
|
|
9
11
|
const utils_1 = require("../utils");
|
|
10
12
|
const shared_1 = require("../shared");
|
|
11
|
-
describe('DynamicApiModule forRoot - Websockets useAuth with resetPassword options (e2e)', () => {
|
|
13
|
+
(0, vitest_1.describe)('DynamicApiModule forRoot - Websockets useAuth with resetPassword options (e2e)', () => {
|
|
12
14
|
const User = (0, shared_1.createResetPasswordUserEntity)();
|
|
13
|
-
beforeEach(() => {
|
|
15
|
+
(0, vitest_1.beforeEach)(() => {
|
|
14
16
|
src_1.DynamicApiModule.state['resetState']();
|
|
15
17
|
});
|
|
16
|
-
afterEach(async () => {
|
|
18
|
+
(0, vitest_1.afterEach)(async () => {
|
|
17
19
|
await (0, e2e_setup_1.closeTestingApp)(mongoose_1.default.connections);
|
|
18
20
|
});
|
|
19
21
|
let model;
|
|
20
22
|
let user;
|
|
21
23
|
let client;
|
|
22
24
|
let app;
|
|
23
|
-
beforeEach(async () => {
|
|
25
|
+
(0, vitest_1.beforeEach)(async () => {
|
|
24
26
|
user = { email: 'user@test.co', password: 'user', isVerified: true };
|
|
25
27
|
client = { email: 'client@test.co', password: 'client' };
|
|
26
|
-
const bcryptService = new
|
|
28
|
+
const bcryptService = new bcrypt_service_1.BcryptService();
|
|
27
29
|
const fixtures = async (_) => {
|
|
28
30
|
model = await (0, utils_1.getModelFromEntity)(User);
|
|
29
31
|
await model.insertMany([
|
|
@@ -51,112 +53,112 @@ describe('DynamicApiModule forRoot - Websockets useAuth with resetPassword optio
|
|
|
51
53
|
_.useWebSocketAdapter(new socket_adapter_1.SocketAdapter(_));
|
|
52
54
|
});
|
|
53
55
|
});
|
|
54
|
-
describe('EVENT auth-reset-password', () => {
|
|
55
|
-
it('should throw a ws exception if email is missing if no validation options are provided', async () => {
|
|
56
|
+
(0, vitest_1.describe)('EVENT auth-reset-password', () => {
|
|
57
|
+
(0, vitest_1.it)('should throw a ws exception if email is missing if no validation options are provided', async () => {
|
|
56
58
|
await e2e_setup_1.server.emit('auth-reset-password', {});
|
|
57
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
58
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
59
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
60
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
59
61
|
message: 'Invalid or missing argument',
|
|
60
62
|
});
|
|
61
|
-
expect(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
63
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
62
64
|
});
|
|
63
|
-
it('should not throw a ws exception if email is invalid if no validation options are provided', async () => {
|
|
65
|
+
(0, vitest_1.it)('should not throw a ws exception if email is invalid if no validation options are provided', async () => {
|
|
64
66
|
await e2e_setup_1.server.emit('auth-reset-password', { email: 'unit.test.co' });
|
|
65
|
-
expect(e2e_setup_1.handleSocketException).not.toHaveBeenCalled();
|
|
66
|
-
expect(e2e_setup_1.handleSocketResponse).toHaveBeenCalledTimes(1);
|
|
67
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).not.toHaveBeenCalled();
|
|
68
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).toHaveBeenCalledTimes(1);
|
|
67
69
|
});
|
|
68
|
-
it('should not throw a ws exception if email is not found', async () => {
|
|
70
|
+
(0, vitest_1.it)('should not throw a ws exception if email is not found', async () => {
|
|
69
71
|
await e2e_setup_1.server.emit('auth-reset-password', { email: 'invalid@test.co' });
|
|
70
|
-
expect(e2e_setup_1.handleSocketException).not.toHaveBeenCalled();
|
|
71
|
-
expect(e2e_setup_1.handleSocketResponse).toHaveBeenCalledTimes(1);
|
|
72
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).not.toHaveBeenCalled();
|
|
73
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).toHaveBeenCalledTimes(1);
|
|
72
74
|
});
|
|
73
|
-
describe('resetPasswordCallback', () => {
|
|
74
|
-
it('should set resetPasswordToken if email is valid', async () => {
|
|
75
|
+
(0, vitest_1.describe)('resetPasswordCallback', () => {
|
|
76
|
+
(0, vitest_1.it)('should set resetPasswordToken if email is valid', async () => {
|
|
75
77
|
const { email } = user;
|
|
76
78
|
const { resetPasswordToken: resetPasswordTokenBeforeUpdate } = (await model.findOne({ email }).lean().exec());
|
|
77
79
|
await e2e_setup_1.server.emit('auth-reset-password', { email });
|
|
78
80
|
const { resetPasswordToken: resetPasswordTokenAfterUpdate } = (await model.findOne({ email }).lean().exec());
|
|
79
|
-
expect(e2e_setup_1.handleSocketException).not.toHaveBeenCalled();
|
|
80
|
-
expect(e2e_setup_1.handleSocketResponse).toHaveBeenCalledTimes(1);
|
|
81
|
-
expect(resetPasswordTokenBeforeUpdate).toStrictEqual(undefined);
|
|
82
|
-
expect(resetPasswordTokenAfterUpdate).toStrictEqual(expect.any(String));
|
|
81
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).not.toHaveBeenCalled();
|
|
82
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).toHaveBeenCalledTimes(1);
|
|
83
|
+
(0, vitest_1.expect)(resetPasswordTokenBeforeUpdate).toStrictEqual(undefined);
|
|
84
|
+
(0, vitest_1.expect)(resetPasswordTokenAfterUpdate).toStrictEqual(vitest_1.expect.any(String));
|
|
83
85
|
});
|
|
84
86
|
});
|
|
85
87
|
});
|
|
86
|
-
describe('EVENT auth-change-password', () => {
|
|
87
|
-
it('should throw a ws exception if resetPasswordToken is missing', async () => {
|
|
88
|
+
(0, vitest_1.describe)('EVENT auth-change-password', () => {
|
|
89
|
+
(0, vitest_1.it)('should throw a ws exception if resetPasswordToken is missing', async () => {
|
|
88
90
|
await e2e_setup_1.server.emit('auth-change-password', { newPassword: 'test' });
|
|
89
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
90
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
91
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
92
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
91
93
|
message: 'Invalid or missing argument',
|
|
92
94
|
});
|
|
93
|
-
expect(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
95
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
94
96
|
});
|
|
95
|
-
it('should throw a ws exception if newPassword is missing', async () => {
|
|
97
|
+
(0, vitest_1.it)('should throw a ws exception if newPassword is missing', async () => {
|
|
96
98
|
await e2e_setup_1.server.emit('auth-change-password', { resetPasswordToken: 'resetPasswordToken' });
|
|
97
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
98
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
99
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
100
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
99
101
|
message: 'Invalid or missing argument',
|
|
100
102
|
});
|
|
101
|
-
expect(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
103
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
102
104
|
});
|
|
103
|
-
it('should throw a ws exception if resetPasswordToken is invalid', async () => {
|
|
105
|
+
(0, vitest_1.it)('should throw a ws exception if resetPasswordToken is invalid', async () => {
|
|
104
106
|
await e2e_setup_1.server.emit('auth-change-password', { resetPasswordToken: 'test', newPassword: 'newPassword' });
|
|
105
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
106
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
107
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
108
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
107
109
|
message: 'Invalid reset password token. Please redo the reset password process.',
|
|
108
110
|
});
|
|
109
|
-
expect(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
111
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
110
112
|
});
|
|
111
|
-
it('should throw a ws exception if resetPasswordToken is expired', async () => {
|
|
113
|
+
(0, vitest_1.it)('should throw a ws exception if resetPasswordToken is expired', async () => {
|
|
112
114
|
const jwtService = app.get(jwt_1.JwtService);
|
|
113
115
|
const expiredResetPasswordToken = jwtService.sign({ email: user.email }, { expiresIn: 1 });
|
|
114
116
|
await (0, utils_1.wait)(500);
|
|
115
117
|
await e2e_setup_1.server.emit('auth-change-password', { resetPasswordToken: expiredResetPasswordToken, newPassword: 'newPassword' });
|
|
116
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
117
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
118
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
119
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
118
120
|
message: 'Time to reset password has expired. Please redo the reset password process.',
|
|
119
121
|
});
|
|
120
|
-
expect(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
122
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
121
123
|
});
|
|
122
|
-
describe('changePasswordAbilityPredicate', () => {
|
|
124
|
+
(0, vitest_1.describe)('changePasswordAbilityPredicate', () => {
|
|
123
125
|
let resetPasswordToken;
|
|
124
|
-
beforeEach(async () => {
|
|
126
|
+
(0, vitest_1.beforeEach)(async () => {
|
|
125
127
|
await e2e_setup_1.server.emit('auth-reset-password', { email: client.email });
|
|
126
128
|
e2e_setup_1.handleSocketResponse.mockReset();
|
|
127
129
|
const { resetPasswordToken: token } = (await model.findOne({ email: client.email }).lean().exec());
|
|
128
130
|
resetPasswordToken = token;
|
|
129
131
|
});
|
|
130
|
-
it('should throw a ws exception if user is not allowed to change password', async () => {
|
|
132
|
+
(0, vitest_1.it)('should throw a ws exception if user is not allowed to change password', async () => {
|
|
131
133
|
await e2e_setup_1.server.emit('auth-change-password', { resetPasswordToken, newPassword: 'newPassword' });
|
|
132
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
133
|
-
expect(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
134
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
|
|
135
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).toHaveBeenCalledWith({
|
|
134
136
|
message: 'You are not allowed to change your password.',
|
|
135
137
|
});
|
|
136
|
-
expect(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
138
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).not.toHaveBeenCalled();
|
|
137
139
|
});
|
|
138
140
|
});
|
|
139
|
-
describe('changePasswordCallback', () => {
|
|
141
|
+
(0, vitest_1.describe)('changePasswordCallback', () => {
|
|
140
142
|
let resetPasswordToken;
|
|
141
|
-
beforeEach(async () => {
|
|
143
|
+
(0, vitest_1.beforeEach)(async () => {
|
|
142
144
|
await e2e_setup_1.server.emit('auth-reset-password', { email: user.email });
|
|
143
145
|
e2e_setup_1.handleSocketResponse.mockReset();
|
|
144
146
|
const { resetPasswordToken: token } = (await model.findOne({ email: user.email }).lean().exec());
|
|
145
147
|
resetPasswordToken = token;
|
|
146
148
|
});
|
|
147
|
-
it('should change password and unset resetPasswordToken if resetPasswordToken is valid', async () => {
|
|
149
|
+
(0, vitest_1.it)('should change password and unset resetPasswordToken if resetPasswordToken is valid', async () => {
|
|
148
150
|
const newPassword = 'newPassword';
|
|
149
|
-
const bcryptService = app.get(
|
|
151
|
+
const bcryptService = app.get(bcrypt_service_1.BcryptService);
|
|
150
152
|
const { password: passwordBeforeUpdate } = (await model.findOne({ email: user.email }).lean().exec());
|
|
151
153
|
await e2e_setup_1.server.emit('auth-change-password', { resetPasswordToken, newPassword });
|
|
152
154
|
const { password: passwordAfterUpdate, resetPasswordToken: tokenAfterUpdate } = (await model.findOne({ email: user.email }).lean().exec());
|
|
153
155
|
const isPreviousPassword = await bcryptService.comparePassword(user.password, passwordBeforeUpdate);
|
|
154
|
-
expect(isPreviousPassword).toBe(true);
|
|
156
|
+
(0, vitest_1.expect)(isPreviousPassword).toBe(true);
|
|
155
157
|
const isNewPassword = await bcryptService.comparePassword(newPassword, passwordAfterUpdate);
|
|
156
|
-
expect(isNewPassword).toBe(true);
|
|
157
|
-
expect(tokenAfterUpdate).toStrictEqual(undefined);
|
|
158
|
-
expect(e2e_setup_1.handleSocketException).not.toHaveBeenCalled();
|
|
159
|
-
expect(e2e_setup_1.handleSocketResponse).toHaveBeenCalledTimes(1);
|
|
158
|
+
(0, vitest_1.expect)(isNewPassword).toBe(true);
|
|
159
|
+
(0, vitest_1.expect)(tokenAfterUpdate).toStrictEqual(undefined);
|
|
160
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketException).not.toHaveBeenCalled();
|
|
161
|
+
(0, vitest_1.expect)(e2e_setup_1.handleSocketResponse).toHaveBeenCalledTimes(1);
|
|
160
162
|
});
|
|
161
163
|
});
|
|
162
164
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websockets-auth-reset-password.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/websockets-auth-reset-password.e2e-spec.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"websockets-auth-reset-password.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/websockets-auth-reset-password.e2e-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Mocked } from 'vitest';
|
|
2
|
+
type DeepPartial<T> = {
|
|
3
|
+
[P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : unknown extends T[P] ? T[P] : DeepPartial<T[P]>;
|
|
4
|
+
};
|
|
5
|
+
export type PartialFuncReturn<T> = {
|
|
6
|
+
[K in keyof T]?: T[K] extends (...args: infer A) => infer U ? (...args: A) => PartialFuncReturn<U> : DeepPartial<T[K]>;
|
|
7
|
+
};
|
|
8
|
+
export type MockOptions = {
|
|
9
|
+
name?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const createMock: <T extends object>(partial?: PartialFuncReturn<T>, options?: MockOptions) => Mocked<T>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMock = void 0;
|
|
4
|
+
const vitest_1 = require("vitest");
|
|
5
|
+
const createRecursiveMockProxy = (name) => {
|
|
6
|
+
const cache = new Map();
|
|
7
|
+
const proxy = new Proxy({}, {
|
|
8
|
+
get: (target, prop) => {
|
|
9
|
+
if (cache.has(prop)) {
|
|
10
|
+
return cache.get(prop);
|
|
11
|
+
}
|
|
12
|
+
const propName = prop.toString();
|
|
13
|
+
const checkProp = target[prop];
|
|
14
|
+
const mockedProp = prop in target
|
|
15
|
+
? typeof checkProp === 'function'
|
|
16
|
+
? vitest_1.vi.fn()
|
|
17
|
+
: checkProp
|
|
18
|
+
: propName === 'then'
|
|
19
|
+
? undefined
|
|
20
|
+
: createRecursiveMockProxy(propName);
|
|
21
|
+
cache.set(prop, mockedProp);
|
|
22
|
+
return mockedProp;
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
return vitest_1.vi.fn(() => proxy);
|
|
26
|
+
};
|
|
27
|
+
const createMock = (partial = {}, options = {}) => {
|
|
28
|
+
const cache = new Map();
|
|
29
|
+
const { name = 'mock' } = options;
|
|
30
|
+
const proxy = new Proxy(partial, {
|
|
31
|
+
get: (target, prop) => {
|
|
32
|
+
if (prop === 'inspect' ||
|
|
33
|
+
prop === 'then' ||
|
|
34
|
+
(typeof prop === 'symbol' && prop.toString() === 'Symbol(util.inspect.custom)')) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
if (cache.has(prop)) {
|
|
38
|
+
return cache.get(prop);
|
|
39
|
+
}
|
|
40
|
+
const checkProp = target[prop];
|
|
41
|
+
let mockedProp;
|
|
42
|
+
if (prop in target) {
|
|
43
|
+
mockedProp = typeof checkProp === 'function' ? vitest_1.vi.fn(checkProp) : checkProp;
|
|
44
|
+
}
|
|
45
|
+
else if (prop === 'constructor') {
|
|
46
|
+
mockedProp = () => undefined;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
mockedProp = createRecursiveMockProxy(`${name}.${prop.toString()}`);
|
|
50
|
+
}
|
|
51
|
+
cache.set(prop, mockedProp);
|
|
52
|
+
return mockedProp;
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
return proxy;
|
|
56
|
+
};
|
|
57
|
+
exports.createMock = createMock;
|
|
58
|
+
//# sourceMappingURL=create-mock.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-mock.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/helpers/create-mock.helper.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;AAiC5B,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAW,EAAE;IACzD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE9C,MAAM,KAAK,GAAkB,IAAI,KAAK,CAAC,EAAmB,EAAE;QAC1D,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACpB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,UAAU,GACd,IAAI,IAAI,MAAM;gBACZ,CAAC,CAAC,OAAO,SAAS,KAAK,UAAU;oBAC/B,CAAC,CAAC,WAAE,CAAC,EAAE,EAAE;oBACT,CAAC,CAAC,SAAS;gBACb,CAAC,CAAC,QAAQ,KAAK,MAAM;oBACnB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAE3C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,WAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,CACxB,UAAgC,EAA0B,EAC1D,UAAuB,EAAE,EACd,EAAE;IACb,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAElC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAwB,EAAE;QAChD,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACpB,IACE,IAAI,KAAK,SAAS;gBAClB,IAAI,KAAK,MAAM;gBACf,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,6BAA6B,CAAC,EAC/E,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,UAAmB,CAAC;YAExB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,UAAU,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,WAAE,CAAC,EAAE,CAAC,SAA4C,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjH,CAAC;iBAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAClC,UAAU,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,wBAAwB,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,KAA6B,CAAC;AACvC,CAAC,CAAC;AAtCW,QAAA,UAAU,cAsCrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './create-mock.helper';
|
|
@@ -0,0 +1,18 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./create-mock.helper"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_fs_1 = require("node:fs");
|
|
4
|
+
const node_module_1 = require("node:module");
|
|
5
|
+
const core_1 = require("@swc/core");
|
|
6
|
+
const extensions = node_module_1.default;
|
|
7
|
+
extensions._extensions['.ts'] = (mod, filename) => {
|
|
8
|
+
const source = (0, node_fs_1.readFileSync)(filename, 'utf8');
|
|
9
|
+
const { code } = (0, core_1.transformSync)(source, {
|
|
10
|
+
filename,
|
|
11
|
+
jsc: {
|
|
12
|
+
target: 'es2021',
|
|
13
|
+
parser: { syntax: 'typescript', decorators: true },
|
|
14
|
+
transform: { legacyDecorator: true, decoratorMetadata: true },
|
|
15
|
+
},
|
|
16
|
+
module: { type: 'commonjs' },
|
|
17
|
+
});
|
|
18
|
+
mod._compile(code, filename);
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=register-ts-require-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-ts-require-hook.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/helpers/register-ts-require-hook.ts"],"names":[],"mappings":";;AAcA,qCAAuC;AACvC,6CAAiC;AACjC,oCAA0C;AAE1C,MAAM,UAAU,GAAG,qBAAoG,CAAC;AAExH,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAa,EAAC,MAAM,EAAE;QACrC,QAAQ;QACR,GAAG,EAAE;YACH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;YAClD,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;SAC9D;QAGD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;KAC7B,CAAC,CAAC;IACF,GAAyE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtG,CAAC,CAAC"}
|
|
@@ -27,6 +27,10 @@ function createUserWithRefreshTokenEntity() {
|
|
|
27
27
|
(0, mongoose_1.Prop)({ type: String, default: null }),
|
|
28
28
|
__metadata("design:type", String)
|
|
29
29
|
], UserWithRefreshTokenEntity.prototype, "refreshTokenHash", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, mongoose_1.Prop)({ type: String, default: 'user' }),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], UserWithRefreshTokenEntity.prototype, "role", void 0);
|
|
30
34
|
UserWithRefreshTokenEntity = __decorate([
|
|
31
35
|
(0, mongoose_1.Schema)({ collection: 'users' })
|
|
32
36
|
], UserWithRefreshTokenEntity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-token-user.factory.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/test/shared/entities/refresh-token-user.factory.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,
|
|
1
|
+
{"version":3,"file":"refresh-token-user.factory.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/test/shared/entities/refresh-token-user.factory.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,4EAiBC;AAvBD,+CAAgD;AAChD,sCAA0C;AAK1C,SAAgB,gCAAgC;IAE9C,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,gBAAU;KAYlD,CAAA;IAVC;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACzB;IAGd;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACtB;IAGjB;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wEACb;IAGzB;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;;4DACjB;IAXnB,0BAA0B;QAD/B,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;OAC1B,0BAA0B,CAY/B;IAED,OAAO,0BAA0B,CAAC;AACpC,CAAC"}
|
|
@@ -9,11 +9,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const vitest_1 = require("vitest");
|
|
12
13
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
13
|
-
const
|
|
14
|
+
const supertestNamespace = require("supertest");
|
|
14
15
|
const src_1 = require("../../src");
|
|
15
16
|
const testing_1 = require("../../src/testing");
|
|
16
17
|
require("dotenv/config");
|
|
18
|
+
const request = supertestNamespace.default ?? supertestNamespace;
|
|
17
19
|
let TestingHelperItemEntity = class TestingHelperItemEntity extends src_1.BaseEntity {
|
|
18
20
|
};
|
|
19
21
|
__decorate([
|
|
@@ -23,10 +25,10 @@ __decorate([
|
|
|
23
25
|
TestingHelperItemEntity = __decorate([
|
|
24
26
|
(0, mongoose_1.Schema)({ collection: 'testing-helper-items' })
|
|
25
27
|
], TestingHelperItemEntity);
|
|
26
|
-
describe('createDynamicApiTestingApp (e2e)', () => {
|
|
27
|
-
describe('with an in-memory MongoDB (no uri passed)', () => {
|
|
28
|
+
(0, vitest_1.describe)('createDynamicApiTestingApp (e2e)', () => {
|
|
29
|
+
(0, vitest_1.describe)('with an in-memory MongoDB (no uri passed)', () => {
|
|
28
30
|
let testingApp;
|
|
29
|
-
beforeAll(async () => {
|
|
31
|
+
(0, vitest_1.beforeAll)(async () => {
|
|
30
32
|
testingApp = await (0, testing_1.createDynamicApiTestingApp)({
|
|
31
33
|
imports: [
|
|
32
34
|
src_1.DynamicApiModule.forFeature({
|
|
@@ -36,30 +38,30 @@ describe('createDynamicApiTestingApp (e2e)', () => {
|
|
|
36
38
|
],
|
|
37
39
|
});
|
|
38
40
|
});
|
|
39
|
-
afterAll(() => testingApp.close());
|
|
40
|
-
it('starts an in-memory MongoDB and returns its uri', () => {
|
|
41
|
-
expect(testingApp.uri).toMatch(/^mongodb:\/\//);
|
|
41
|
+
(0, vitest_1.afterAll)(() => testingApp.close());
|
|
42
|
+
(0, vitest_1.it)('starts an in-memory MongoDB and returns its uri', () => {
|
|
43
|
+
(0, vitest_1.expect)(testingApp.uri).toMatch(/^mongodb:\/\//);
|
|
42
44
|
});
|
|
43
|
-
it('serves the generated CRUD routes end-to-end, backed by the in-memory MongoDB', async () => {
|
|
45
|
+
(0, vitest_1.it)('serves the generated CRUD routes end-to-end, backed by the in-memory MongoDB', async () => {
|
|
44
46
|
const { body: created } = await request(testingApp.app.getHttpServer())
|
|
45
47
|
.post('/testing-helper-items')
|
|
46
48
|
.send({ name: 'first-item' })
|
|
47
49
|
.expect(201);
|
|
48
|
-
expect(created).toMatchObject({ name: 'first-item' });
|
|
50
|
+
(0, vitest_1.expect)(created).toMatchObject({ name: 'first-item' });
|
|
49
51
|
const { body: fetched } = await request(testingApp.app.getHttpServer())
|
|
50
52
|
.get(`/testing-helper-items/${created.id}`)
|
|
51
53
|
.expect(200);
|
|
52
|
-
expect(fetched).toMatchObject({ id: created.id, name: 'first-item' });
|
|
54
|
+
(0, vitest_1.expect)(fetched).toMatchObject({ id: created.id, name: 'first-item' });
|
|
53
55
|
});
|
|
54
56
|
});
|
|
55
|
-
describe('with a caller-provided uri', () => {
|
|
57
|
+
(0, vitest_1.describe)('with a caller-provided uri', () => {
|
|
56
58
|
let testingApp;
|
|
57
|
-
beforeAll(async () => {
|
|
59
|
+
(0, vitest_1.beforeAll)(async () => {
|
|
58
60
|
testingApp = await (0, testing_1.createDynamicApiTestingApp)({ uri: process.env.MONGO_DB_URL });
|
|
59
61
|
});
|
|
60
|
-
afterAll(() => testingApp.close());
|
|
61
|
-
it('uses the given uri instead of starting an in-memory MongoDB', () => {
|
|
62
|
-
expect(testingApp.uri).toBe(process.env.MONGO_DB_URL);
|
|
62
|
+
(0, vitest_1.afterAll)(() => testingApp.close());
|
|
63
|
+
(0, vitest_1.it)('uses the given uri instead of starting an in-memory MongoDB', () => {
|
|
64
|
+
(0, vitest_1.expect)(testingApp.uri).toBe(process.env.MONGO_DB_URL);
|
|
63
65
|
});
|
|
64
66
|
});
|
|
65
67
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-dynamic-api-testing-app.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/testing/create-dynamic-api-testing-app.e2e-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"create-dynamic-api-testing-app.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/testing/create-dynamic-api-testing-app.e2e-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAmE;AACnE,+CAAgD;AAChD,gDAAgD;AAChD,mCAAyD;AACzD,+CAA+D;AAC/D,yBAAuB;AAIvB,MAAM,OAAO,GAAI,kBAAyE,CAAC,OAAO,IAAI,kBAAkB,CAAC;AAGzH,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,gBAAU;CAG/C,CAAA;AADC;IADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDAC1B;AAFT,uBAAuB;IAD5B,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;GACzC,uBAAuB,CAG5B;AAED,IAAA,iBAAQ,EAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,IAAA,iBAAQ,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACzD,IAAI,UAAkE,CAAC;QAEvE,IAAA,kBAAS,EAAC,KAAK,IAAI,EAAE;YACnB,UAAU,GAAG,MAAM,IAAA,oCAA0B,EAAC;gBAC5C,OAAO,EAAE;oBACP,sBAAgB,CAAC,UAAU,CAAC;wBAC1B,MAAM,EAAE,uBAAuB;wBAC/B,iBAAiB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;qBACpD,CAAC;iBACH;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,iBAAQ,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QAEnC,IAAA,WAAE,EAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,IAAA,eAAM,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;iBACtE,IAAI,CAAC,uBAAuB,CAAC;iBAC7B,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;iBAC5B,MAAM,CAAC,GAAG,CAAC,CAAC;YAEb,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAEtD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;iBACtE,GAAG,CAAC,yBAAyB,OAAO,CAAC,EAAE,EAAE,CAAC;iBAC1C,MAAM,CAAC,GAAG,CAAC,CAAC;YAEb,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAI,UAAkE,CAAC;QAEvE,IAAA,kBAAS,EAAC,KAAK,IAAI,EAAE;YACnB,UAAU,GAAG,MAAM,IAAA,oCAA0B,EAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,IAAA,iBAAQ,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QAEnC,IAAA,WAAE,EAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,IAAA,eAAM,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/test/utils.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { Type } from '@nestjs/common';
|
|
2
2
|
import { Model } from 'mongoose';
|
|
3
3
|
export declare const wait: (ms: number) => Promise<unknown>;
|
|
4
|
-
export declare const getModelFromEntity: <Entity>(entity: Type<Entity>) => Promise<Model<Entity, {}, {}, {}, import("mongoose").IfAny<Entity, any, import("mongoose").Document<unknown, {}, Entity> & import("mongoose").
|
|
4
|
+
export declare const getModelFromEntity: <Entity>(entity: Type<Entity>) => Promise<Model<Entity, {}, {}, {}, import("mongoose").IfAny<Entity, any, import("mongoose").Document<unknown, {}, Entity, {}, {}> & (import("mongoose").Require_id<Entity> extends infer T ? T extends import("mongoose").Require_id<Entity> ? T extends {
|
|
5
|
+
__v?: infer U;
|
|
6
|
+
} ? T : T & {
|
|
7
|
+
__v: number;
|
|
8
|
+
} : never : never)>, any>>;
|
package/test/utils.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getModelFromEntity = exports.wait = void 0;
|
|
4
4
|
const mongoose_1 = require("mongoose");
|
|
5
|
-
const
|
|
5
|
+
const schema_helper_1 = require("../src/helpers/schema.helper");
|
|
6
6
|
const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
7
7
|
exports.wait = wait;
|
|
8
8
|
const getModelFromEntity = async (entity) => {
|
|
9
9
|
const connection = await (0, mongoose_1.createConnection)(process.env.MONGO_DB_URL).asPromise();
|
|
10
|
-
return connection.model(entity.name, (0,
|
|
10
|
+
return connection.model(entity.name, (0, schema_helper_1.buildSchemaFromEntity)(entity));
|
|
11
11
|
};
|
|
12
12
|
exports.getModelFromEntity = getModelFromEntity;
|
|
13
13
|
//# sourceMappingURL=utils.js.map
|
package/test/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/utils.ts"],"names":[],"mappings":";;;AACA,uCAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/utils.ts"],"names":[],"mappings":";;;AACA,uCAAmD;AACnD,gEAAqE;AAE9D,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAAzE,QAAA,IAAI,QAAqE;AAE/E,MAAM,kBAAkB,GAAG,KAAK,EAAU,MAAoB,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,MAAM,IAAA,2BAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;IAChF,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,qCAAqB,EAAC,MAAM,CAAC,CAAkB,CAAC;AACvF,CAAC,CAAA;AAHY,QAAA,kBAAkB,sBAG9B"}
|