http-request-manager 18.15.32 → 18.15.34
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/README.md +2 -0
- package/TEST_COVERAGE_SUMMARY.md +458 -0
- package/ng-package.json +8 -0
- package/package.json +5 -13
- package/src/docs/ADVANCED_WEBSOCKET.md +633 -0
- package/src/docs/ARCHITECTURE.md +633 -0
- package/src/docs/BATCH_REQUEST_README.md +467 -0
- package/src/docs/COMPLETE_API_REFERENCE.md +1037 -0
- package/src/docs/DATABASE_README.md +1195 -0
- package/src/docs/ENCRYPTION_README.md +403 -0
- package/src/docs/HTTP_MANAGER_README.md +628 -0
- package/src/docs/HTTP_SINGNALS_MANAGER_README.md +654 -0
- package/src/docs/HTTP_STATE_MANAGER_README.md +1391 -0
- package/src/docs/INTERCEPTOR_README.md +549 -0
- package/src/docs/LOCAL_STORAGE_README.md +1056 -0
- package/src/docs/LOCAL_STORAGE_SIGNALS_README.md +338 -0
- package/src/docs/LOGGER_README.md +310 -0
- package/src/docs/MESSAGE_TRACKER_README.md +518 -0
- package/src/docs/MESSAGE_TRACKER_SIGNALS_README.md +563 -0
- package/src/docs/MODELS_README.md +1264 -0
- package/src/docs/SIGNAL_SERVICES_README.md +238 -0
- package/src/docs/SQL_DIXIE_README.md +574 -0
- package/src/docs/STORE_STATE_MANAGER_README.md +556 -0
- package/src/docs/STORE_STATE_SIGNALS_README.md +600 -0
- package/src/docs/UPLOAD_REQUEST_README.md +324 -0
- package/src/docs/UTILS_README.md +1604 -0
- package/src/docs/WEBSOCKET_MESSAGE_SERVICE.md +799 -0
- package/src/docs/WEBSOCKET_SIGNALS_README.md +641 -0
- package/src/docs/WEBSOCKET_SINGLETON_REFACTORING.md +201 -0
- package/src/docs/WS_MANAGER_README.md +613 -0
- package/src/lib/http-request-manager.module.ts +147 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +116 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +255 -0
- package/src/lib/http-request-services-demo/http-request-services-demo.component.html +123 -0
- package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +6 -0
- package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +53 -0
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +195 -0
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +17 -0
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +208 -0
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.html +200 -0
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.scss +17 -0
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.ts +214 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.html +53 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.scss +60 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.ts +72 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-download.module.ts +28 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.html +10 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.scss +29 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.ts +100 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/models/download-labels-model.ts +22 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.html +8 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.scss +19 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.ts +26 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app-session.model.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app.model.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/get-sample.model.ts +25 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-ai-prompt.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-details.ts +24 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-info.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client.model.ts +49 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-mapper-client-info.ts +33 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.html +279 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.scss +24 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.ts +461 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +53 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +60 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +72 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +28 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +10 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +29 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +100 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +22 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +8 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +19 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +26 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +25 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +24 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +49 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +33 -0
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +622 -0
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +106 -0
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +687 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +418 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +24 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +576 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +89 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.ts +119 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.html +3 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.ts +16 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.html +3 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.ts +16 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.css +31 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.html +94 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.scss +41 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.spec.ts +203 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.ts +144 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.css +11 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.html +102 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.spec.ts +40 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.ts +230 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.css +30 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.html +172 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.spec.ts +31 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.ts +239 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.ts +31 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.ts +32 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.html +84 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.ts +40 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/index.ts +3 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/jwt-token.service.ts +62 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/message-service-demo.service.ts +83 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/notification-service-demo.service.ts +147 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/state-service-demo.service.ts +168 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.html +53 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.scss +60 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.ts +72 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-download.module.ts +28 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.html +10 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.scss +29 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.ts +100 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/models/download-labels-model.ts +22 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.html +8 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.scss +19 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.ts +26 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app-session.model.ts +30 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app.model.ts +19 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/get-sample.model.ts +25 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.ts +19 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-details.ts +24 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.ts +30 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client.model.ts +49 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.ts +33 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.html +380 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.scss +24 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.ts +410 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.ts +28 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.ts +49 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.css +0 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.html +23 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.ts +36 -0
- package/src/lib/http-request-services-demo/store-state-signals-demo/store-state-signals-demo.component.ts +161 -0
- package/src/lib/http-request-services-demo/upload-demo/models/index.ts +1 -0
- package/src/lib/http-request-services-demo/upload-demo/models/upload-state.model.ts +30 -0
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.html +89 -0
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.scss +160 -0
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.spec.ts +101 -0
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.ts +136 -0
- package/src/lib/index.ts +3 -0
- package/src/lib/interceptors/credentials.interceptor.ts +16 -0
- package/src/lib/interceptors/index.ts +6 -0
- package/src/lib/interceptors/models/error-settings.model.ts +22 -0
- package/src/lib/interceptors/models/index.ts +2 -0
- package/src/lib/interceptors/proxy-debugger.interceptor.ts +46 -0
- package/src/lib/interceptors/request-error.interceptor.ts +65 -0
- package/src/lib/interceptors/request-header.interceptor.ts +56 -0
- package/src/lib/message-display/README.md +509 -0
- package/src/lib/message-display/index.ts +4 -0
- package/src/lib/message-display/models/action.model.ts +27 -0
- package/src/lib/message-display/models/communication-message.model.ts +77 -0
- package/src/lib/message-display/models/display-config.model.ts +35 -0
- package/src/lib/message-display/models/display-rule.interface.ts +28 -0
- package/src/lib/message-display/models/display-strategy.interface.ts +8 -0
- package/src/lib/message-display/models/index.ts +6 -0
- package/src/lib/message-display/models/slide.model.ts +24 -0
- package/src/lib/message-display/rules/default-display-rules.ts +35 -0
- package/src/lib/message-display/services/message-display-router.service.ts +63 -0
- package/src/lib/message-display/strategies/snackbar.strategy.ts +46 -0
- package/src/lib/models/batch-options.model.ts +33 -0
- package/src/lib/models/batch-progress.model.ts +19 -0
- package/src/lib/models/batch-request-state.model.ts +40 -0
- package/src/lib/models/batch-result.model.ts +30 -0
- package/src/lib/models/config-http-options.model.ts +45 -0
- package/src/lib/models/config-local-storage-options.model.ts +27 -0
- package/src/lib/models/config-options.model.ts +27 -0
- package/src/lib/models/config-token.model.ts +9 -0
- package/src/lib/models/data-type.enum.ts +5 -0
- package/src/lib/models/database-storage.model.ts +24 -0
- package/src/lib/models/index.ts +16 -0
- package/src/lib/models/retry-options.model.ts +22 -0
- package/src/lib/models/upload-validation-error.model.ts +46 -0
- package/src/lib/services/SQL-DixieJS service/dexie-query-executor.ts +246 -0
- package/src/lib/services/SQL-DixieJS service/dexie-sql.service.ts +31 -0
- package/src/lib/services/SQL-DixieJS service/index.ts +4 -0
- package/src/lib/services/SQL-DixieJS service/models/execution-plan.model.ts +52 -0
- package/src/lib/services/SQL-DixieJS service/models/index.ts +3 -0
- package/src/lib/services/SQL-DixieJS service/models/sql-errors.model.ts +13 -0
- package/src/lib/services/SQL-DixieJS service/models/sql-options.model.ts +3 -0
- package/src/lib/services/SQL-DixieJS service/query-planner.ts +284 -0
- package/src/lib/services/SQL-DixieJS service/schema-validator.ts +217 -0
- package/src/lib/services/SQL-DixieJS service/sql-parser.ts +35 -0
- package/src/lib/services/database-manager-service/database.manager.service.ts +384 -0
- package/src/lib/services/database-manager-service/db.storage.service.ts +240 -0
- package/src/lib/services/database-manager-service/index.ts +4 -0
- package/src/lib/services/database-manager-service/models/index.ts +2 -0
- package/src/lib/services/database-manager-service/models/table-schema.ts +33 -0
- package/src/lib/services/index.ts +20 -0
- package/src/lib/services/local-storage-manager-service/index.ts +4 -0
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +71 -0
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +567 -0
- package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.spec.ts +67 -0
- package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.ts +437 -0
- package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +30 -0
- package/src/lib/services/local-storage-manager-service/models/index.ts +6 -0
- package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +35 -0
- package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +24 -0
- package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +32 -0
- package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +5 -0
- package/src/lib/services/request-manager-services/README.md +282 -0
- package/src/lib/services/request-manager-services/http-manager-signals.service.ts +674 -0
- package/src/lib/services/request-manager-services/http-manager.service.spec.ts +353 -0
- package/src/lib/services/request-manager-services/http-manager.service.ts +727 -0
- package/src/lib/services/request-manager-services/index.ts +8 -0
- package/src/lib/services/request-manager-services/request-signals.service.ts +372 -0
- package/src/lib/services/request-manager-services/request.service.ts +435 -0
- package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +17 -0
- package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +16 -0
- package/src/lib/services/request-manager-services/rxjs-operators/index.ts +4 -0
- package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +35 -0
- package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +468 -0
- package/src/lib/services/request-manager-state-service/http-manager-state.store.spec.ts +665 -0
- package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +2395 -0
- package/src/lib/services/request-manager-state-service/index.ts +3 -0
- package/src/lib/services/request-manager-state-service/models/api-request.model.ts +86 -0
- package/src/lib/services/request-manager-state-service/models/index.ts +14 -0
- package/src/lib/services/request-manager-state-service/models/operation-result.model.ts +18 -0
- package/src/lib/services/request-manager-state-service/models/parsing-result.model.ts +21 -0
- package/src/lib/services/request-manager-state-service/models/request-options.model.ts +37 -0
- package/src/lib/services/request-manager-state-service/models/stream-config.model.ts +20 -0
- package/src/lib/services/request-manager-state-service/models/stream-event-metadata.model.ts +23 -0
- package/src/lib/services/request-manager-state-service/models/stream-event.model.ts +23 -0
- package/src/lib/services/request-manager-state-service/models/stream-output.model.ts +23 -0
- package/src/lib/services/request-manager-state-service/models/stream-progress.model.ts +24 -0
- package/src/lib/services/request-manager-state-service/models/stream-type.enum.ts +13 -0
- package/src/lib/services/request-manager-state-service/models/ws-options.model.ts +42 -0
- package/src/lib/services/store-state-manager-service/index.ts +4 -0
- package/src/lib/services/store-state-manager-service/models/index.ts +3 -0
- package/src/lib/services/store-state-manager-service/models/state-operation-result.model.ts +30 -0
- package/src/lib/services/store-state-manager-service/models/state-storage-options.model.ts +24 -0
- package/src/lib/services/store-state-manager-service/store-state-manager-signals.service.ts +169 -0
- package/src/lib/services/store-state-manager-service/store-state-manager.service.ts +153 -0
- package/src/lib/services/utils/app.service.spec.ts +25 -0
- package/src/lib/services/utils/app.service.ts +21 -0
- package/src/lib/services/utils/encryption/README.md +79 -0
- package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +282 -0
- package/src/lib/services/utils/encryption/encryption-test.service.ts +39 -0
- package/src/lib/services/utils/encryption/index.ts +5 -0
- package/src/lib/services/utils/encryption/random.ts +81 -0
- package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +106 -0
- package/src/lib/services/utils/headers.service.spec.ts +80 -0
- package/src/lib/services/utils/headers.service.ts +18 -0
- package/src/lib/services/utils/index.ts +9 -0
- package/src/lib/services/utils/logger.service.ts +90 -0
- package/src/lib/services/utils/models/index.ts +4 -0
- package/src/lib/services/utils/models/normalized-request-options.model.ts +24 -0
- package/src/lib/services/utils/models/path-tracker-state.model.ts +20 -0
- package/src/lib/services/utils/models/query-params-tracker-options.model.ts +24 -0
- package/src/lib/services/utils/models/query-tracker-state.model.ts +23 -0
- package/src/lib/services/utils/object-merger.service.spec.ts +18 -0
- package/src/lib/services/utils/object-merger.service.ts +78 -0
- package/src/lib/services/utils/path-query.service.spec.ts +117 -0
- package/src/lib/services/utils/path-query.service.ts +69 -0
- package/src/lib/services/utils/query-params-tracker.service.ts +442 -0
- package/src/lib/services/utils/random-color.utils.ts +83 -0
- package/src/lib/services/utils/utils.service.spec.ts +165 -0
- package/src/lib/services/utils/utils.service.ts +192 -0
- package/src/lib/services/ws-manager-service/index.ts +13 -0
- package/src/lib/services/ws-manager-service/message-tracker-signals.service.ts +147 -0
- package/src/lib/services/ws-manager-service/message-tracker.service.ts +477 -0
- package/src/lib/services/ws-manager-service/models/channel-info.model.ts +29 -0
- package/src/lib/services/ws-manager-service/models/channel-message-data.model.ts +24 -0
- package/src/lib/services/ws-manager-service/models/channel-message.model.ts +36 -0
- package/src/lib/services/ws-manager-service/models/channel-type.enum.ts +6 -0
- package/src/lib/services/ws-manager-service/models/communication-type.enum.ts +5 -0
- package/src/lib/services/ws-manager-service/models/index.ts +10 -0
- package/src/lib/services/ws-manager-service/models/notification-message.model.ts +29 -0
- package/src/lib/services/ws-manager-service/models/public-message.model.ts +18 -0
- package/src/lib/services/ws-manager-service/models/state-message.model.ts +18 -0
- package/src/lib/services/ws-manager-service/models/ws-user.model.ts +38 -0
- package/src/lib/services/ws-manager-service/services/index.ts +4 -0
- package/src/lib/services/ws-manager-service/services/websocket-message.service.ts +129 -0
- package/src/lib/services/ws-manager-service/services/websocket.service.ts +434 -0
- package/src/lib/services/ws-manager-service/websocket-service/index.ts +1 -0
- package/src/lib/services/ws-manager-service/websocket-service/websocket-manager.service.ts +716 -0
- package/src/lib/services/ws-manager-service/websocket-services-complete.spec.ts +596 -0
- package/src/lib/services/ws-manager-service/websocket-signals-manager.service.ts +141 -0
- package/src/public-api.ts +19 -0
- package/tsconfig.lib.json +34 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/fesm2022/http-request-manager.mjs +0 -13297
- package/fesm2022/http-request-manager.mjs.map +0 -1
- package/http-request-manager-18.15.32.tgz +0 -0
- package/types/http-request-manager.d.ts +0 -3875
package/README.md
CHANGED
|
@@ -20,6 +20,7 @@ This README is the main documentation hub for the library. Detailed service guid
|
|
|
20
20
|
| **🔄 State Management** | CRUD state, persistence, derived state | [`HTTPManagerStateService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/HTTP_STATE_MANAGER_README.md) and [`StoreStateManagerService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/STORE_STATE_MANAGER_README.md) | [`StoreStateManagerSignalsService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/STORE_STATE_SIGNALS_README.md) |
|
|
21
21
|
| **💬 Real-Time Communication** | WebSocket channels, tracking, messaging | [`WebSocketManagerService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/WS_MANAGER_README.md), [`WebSocketMessageService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/WEBSOCKET_MESSAGE_SERVICE.md), and [`MessageTrackerService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/MESSAGE_TRACKER_README.md) | [`WebSocketSignalsManagerService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/WEBSOCKET_SIGNALS_README.md) and [`MessageTrackerSignalsService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/MESSAGE_TRACKER_SIGNALS_README.md) |
|
|
22
22
|
| **💾 Data Persistence** | Local/session storage and offline caching | [`LocalStorageManagerService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/LOCAL_STORAGE_README.md) and [`DatabaseManagerService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/DATABASE_README.md) | [`LocalStorageSignalsManagerService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/LOCAL_STORAGE_SIGNALS_README.md) |
|
|
23
|
+
| **🗄️ SQL on IndexedDB** | MySQL-syntax SQL queries against DexieJS IndexedDB | [`DexieSqlService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/SQL_DIXIE_README.md) | Uses the same service |
|
|
23
24
|
| **⚡ Utility Functions** | JSON handling, encryption, headers, validation, logging | [`UtilsService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/UTILS_README.md), [`Encryption`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/ENCRYPTION_README.md), [`Logger`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/LOGGER_README.md) | Uses the same utility layer |
|
|
24
25
|
|
|
25
26
|
### Key Benefits
|
|
@@ -41,6 +42,7 @@ Note on clearing persisted data:
|
|
|
41
42
|
| Feature | Description | Learn More |
|
|
42
43
|
|---------|-------------|------------|
|
|
43
44
|
| **🔐 Enterprise Encryption** | AES symmetric + RSA asymmetric encryption | [`Encryption Utils`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/ENCRYPTION_README.md) |
|
|
45
|
+
| **🗄️ SQL on IndexedDB** | MySQL-syntax SELECT queries against DexieJS — filters, joins, ORDER BY, LIMIT, COUNT | [`DexieSqlService`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/SQL_DIXIE_README.md) |
|
|
44
46
|
| **📡 Streaming Support** | NDJSON & Server-Sent Events (SSE) | [`HTTP Manager`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/HTTP_MANAGER_README.md#streaming) |
|
|
45
47
|
| **📄 File Downloads** | Progress tracking for large files | [`HTTP Manager`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/HTTP_MANAGER_README.md#file-downloads) |
|
|
46
48
|
| **📤 File Uploads** | Multi-file upload with progress, validation, and form-data config | [`Upload Request`](https://github.com/micheleboni/npm-angular/tree/main/projects/http-request-manager/src/docs/UPLOAD_REQUEST_README.md) |
|
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
# HTTP Request Manager - Complete Test Coverage
|
|
2
|
+
|
|
3
|
+
## Test Files Created
|
|
4
|
+
|
|
5
|
+
This document provides a comprehensive overview of all test files created based on the demo components in the http-request-manager library.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. HTTPManagerService Tests
|
|
10
|
+
|
|
11
|
+
### File: `http-manager-complete.spec.ts`
|
|
12
|
+
**Location:** `projects/http-request-manager/src/lib/services/request-manager-services/`
|
|
13
|
+
|
|
14
|
+
**Based on:**
|
|
15
|
+
- `RequestManagerBasicDemoComponent`
|
|
16
|
+
- `RequestManagerDemoComponent`
|
|
17
|
+
- `RequestSignalsManagerDemoComponent`
|
|
18
|
+
|
|
19
|
+
**Coverage:**
|
|
20
|
+
|
|
21
|
+
### Basic CRUD Operations
|
|
22
|
+
- ✅ GET request - fetch all posts
|
|
23
|
+
- ✅ GET request - fetch single post by ID
|
|
24
|
+
- ✅ GET request - fetch with query parameters (filtering)
|
|
25
|
+
- ✅ GET request - fetch nested resources (comments)
|
|
26
|
+
- ✅ GET request - fetch users
|
|
27
|
+
- ✅ GET request - fetch todos
|
|
28
|
+
- ✅ POST request - create new post
|
|
29
|
+
- ✅ PUT request - update entire post
|
|
30
|
+
- ✅ DELETE request - delete post
|
|
31
|
+
|
|
32
|
+
### Batch Requests
|
|
33
|
+
- ✅ Parallel batch requests (fetch 5 users)
|
|
34
|
+
- ✅ Parallel batch with partial failures (ignoreErrors)
|
|
35
|
+
- ✅ Parallel batch with concurrency limit
|
|
36
|
+
- ✅ Sequential batch requests (fetch 5 todos)
|
|
37
|
+
- ✅ Sequential batch with stopOnError
|
|
38
|
+
- ✅ Batch requests stream (real-time state updates)
|
|
39
|
+
|
|
40
|
+
### Streaming Requests
|
|
41
|
+
- ✅ Streaming GET request (NDJSON)
|
|
42
|
+
- ✅ Streaming POST request (AI streaming)
|
|
43
|
+
|
|
44
|
+
### Error Handling
|
|
45
|
+
- ✅ 404 error with displayError=true
|
|
46
|
+
- ✅ 500 server error
|
|
47
|
+
- ✅ Network error
|
|
48
|
+
|
|
49
|
+
### Retry Logic
|
|
50
|
+
- ✅ Retry failed requests (3 attempts)
|
|
51
|
+
|
|
52
|
+
### Polling
|
|
53
|
+
- ✅ Poll for data at specified intervals
|
|
54
|
+
|
|
55
|
+
### Request Configuration
|
|
56
|
+
- ✅ Custom headers (Authorization, Custom-Header)
|
|
57
|
+
- ✅ Adapter function to transform response
|
|
58
|
+
- ✅ Mapper function to transform request data
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 2. LocalStorageManagerService Tests
|
|
63
|
+
|
|
64
|
+
### File: `local-storage-manager-complete.spec.ts`
|
|
65
|
+
**Location:** `projects/http-request-manager/src/lib/services/local-storage-manager-service/`
|
|
66
|
+
|
|
67
|
+
**Based on:**
|
|
68
|
+
- `LocalStorageDemoComponent`
|
|
69
|
+
|
|
70
|
+
**Coverage:**
|
|
71
|
+
|
|
72
|
+
### Store Management
|
|
73
|
+
- ✅ Create local storage store
|
|
74
|
+
- ✅ Create session storage store
|
|
75
|
+
- ✅ Create encrypted store
|
|
76
|
+
- ✅ Prevent duplicate stores
|
|
77
|
+
- ✅ Reject non-object/array data
|
|
78
|
+
- ✅ Set store data
|
|
79
|
+
- ✅ Update existing store data
|
|
80
|
+
- ✅ Handle JSON string data
|
|
81
|
+
- ✅ Delete store
|
|
82
|
+
- ✅ Handle deleting non-existent store
|
|
83
|
+
- ✅ Retrieve store data
|
|
84
|
+
- ✅ Return null for non-existent store
|
|
85
|
+
- ✅ Check if store exists
|
|
86
|
+
|
|
87
|
+
### Encryption
|
|
88
|
+
- ✅ Encrypt data when option is enabled
|
|
89
|
+
- ✅ Decrypt data when retrieving
|
|
90
|
+
- ✅ Handle decryption failure gracefully
|
|
91
|
+
|
|
92
|
+
### Expiration Handling
|
|
93
|
+
- ✅ Set expiration time based on expiresIn
|
|
94
|
+
- ✅ Remove expired stores
|
|
95
|
+
- ✅ Keep non-expired stores
|
|
96
|
+
|
|
97
|
+
### Data Persistence
|
|
98
|
+
- ✅ Persist state to localStorage
|
|
99
|
+
- ✅ Persist settings to localStorage
|
|
100
|
+
- ✅ Retrieve state from localStorage on init
|
|
101
|
+
- ✅ Handle corrupted localStorage data
|
|
102
|
+
|
|
103
|
+
### Utility Methods
|
|
104
|
+
- ✅ Reset store (clear all)
|
|
105
|
+
- ✅ Clear all stored data
|
|
106
|
+
- ✅ Check for corrupted data
|
|
107
|
+
|
|
108
|
+
### Storage Type Selection
|
|
109
|
+
- ✅ Filter stores by type (GLOBAL)
|
|
110
|
+
- ✅ Filter stores by type (SESSION)
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 3. LocalStorageSignalsManagerService Tests
|
|
115
|
+
|
|
116
|
+
### File: `local-storage-signals-manager-complete.spec.ts`
|
|
117
|
+
**Location:** `projects/http-request-manager/src/lib/services/local-storage-manager-service/`
|
|
118
|
+
|
|
119
|
+
**Based on:**
|
|
120
|
+
- `LocalStorageSignalsDemoComponent`
|
|
121
|
+
- `StoreStateSignalsDemoComponent`
|
|
122
|
+
|
|
123
|
+
**Coverage:**
|
|
124
|
+
|
|
125
|
+
### Signal-based Store Management
|
|
126
|
+
- ✅ Create store with signals
|
|
127
|
+
- ✅ Create encrypted store
|
|
128
|
+
- ✅ Set store data using signals
|
|
129
|
+
- ✅ Update store data using signals
|
|
130
|
+
- ✅ Delete store using signals
|
|
131
|
+
|
|
132
|
+
### Signal Selectors
|
|
133
|
+
- ✅ stores (computed signal) - return all stores
|
|
134
|
+
- ✅ store (computed signal) - return specific store data
|
|
135
|
+
- ✅ store (computed signal) - return null for non-existent
|
|
136
|
+
- ✅ settings (computed signal) - return all settings
|
|
137
|
+
- ✅ setting (computed signal) - return specific setting
|
|
138
|
+
- ✅ storeExists (computed signal) - check existence
|
|
139
|
+
|
|
140
|
+
### Counter State Management (Demo Pattern)
|
|
141
|
+
- ✅ Manage counter state with history
|
|
142
|
+
- ✅ Increment counter
|
|
143
|
+
- ✅ Decrement counter
|
|
144
|
+
- ✅ Reset counter
|
|
145
|
+
- ✅ Add to history
|
|
146
|
+
|
|
147
|
+
### Auto-persistence
|
|
148
|
+
- ✅ Persist state to localStorage automatically
|
|
149
|
+
|
|
150
|
+
### Expiration Handling
|
|
151
|
+
- ✅ Remove expired stores automatically
|
|
152
|
+
|
|
153
|
+
### Encryption
|
|
154
|
+
- ✅ Encrypt data when option is enabled
|
|
155
|
+
- ✅ Decrypt data when retrieving
|
|
156
|
+
|
|
157
|
+
### Utility Methods
|
|
158
|
+
- ✅ Reset store (clear all)
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 4. DatabaseManagerService Tests
|
|
163
|
+
|
|
164
|
+
### File: `database-manager-complete.spec.ts`
|
|
165
|
+
**Location:** `projects/http-request-manager/src/lib/services/database-manager-service/`
|
|
166
|
+
|
|
167
|
+
**Based on:**
|
|
168
|
+
- `DatabaseDataDemoComponent`
|
|
169
|
+
- `RequestManagerStateDemoComponent`
|
|
170
|
+
|
|
171
|
+
**Coverage:**
|
|
172
|
+
|
|
173
|
+
### Database Initialization
|
|
174
|
+
- ✅ Initialize database
|
|
175
|
+
- ✅ Get database tables
|
|
176
|
+
|
|
177
|
+
### Table Management
|
|
178
|
+
- ✅ Create new table
|
|
179
|
+
- ✅ Prevent duplicate tables
|
|
180
|
+
- ✅ Check if table exists (true)
|
|
181
|
+
- ✅ Check if table exists (false)
|
|
182
|
+
- ✅ Get table schema
|
|
183
|
+
- ✅ Get schema for non-existent table
|
|
184
|
+
|
|
185
|
+
### CRUD Operations
|
|
186
|
+
- ✅ Create single record
|
|
187
|
+
- ✅ Auto-generate ID
|
|
188
|
+
- ✅ Create multiple records
|
|
189
|
+
- ✅ Get all records
|
|
190
|
+
- ✅ Get single record by ID
|
|
191
|
+
- ✅ Return null for non-existent record
|
|
192
|
+
- ✅ Find record by column value
|
|
193
|
+
- ✅ Update existing record
|
|
194
|
+
- ✅ Delete single record
|
|
195
|
+
- ✅ Clear all records from table
|
|
196
|
+
|
|
197
|
+
### Bulk Operations
|
|
198
|
+
- ✅ Delete multiple records
|
|
199
|
+
- ✅ Update multiple records
|
|
200
|
+
|
|
201
|
+
### Error Handling
|
|
202
|
+
- ✅ Handle non-existent table gracefully
|
|
203
|
+
- ✅ Handle invalid table names
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## 5. Database DataSource Tests
|
|
208
|
+
|
|
209
|
+
### File: `database-datasource.spec.ts`
|
|
210
|
+
**Location:** `projects/http-request-manager/src/lib/services/database-manager-service/`
|
|
211
|
+
|
|
212
|
+
**Based on:**
|
|
213
|
+
- `DatabaseDataDemoComponent` (DatabaseDataSource pattern)
|
|
214
|
+
|
|
215
|
+
**Coverage:**
|
|
216
|
+
|
|
217
|
+
### DataSource Operations
|
|
218
|
+
- ✅ Create DataSource with initial data
|
|
219
|
+
- ✅ Connect and return data
|
|
220
|
+
- ✅ Set new data
|
|
221
|
+
- ✅ Disconnect and clear data
|
|
222
|
+
|
|
223
|
+
### Database Operations (Demo Pattern)
|
|
224
|
+
- ✅ Initialize database table on init
|
|
225
|
+
- ✅ Check if table exists
|
|
226
|
+
- ✅ Get database tables
|
|
227
|
+
- ✅ Get table schema
|
|
228
|
+
- ✅ Add data (create record)
|
|
229
|
+
- ✅ Add multiple records
|
|
230
|
+
- ✅ Remove data (delete record)
|
|
231
|
+
- ✅ Remove multiple records
|
|
232
|
+
- ✅ Update data
|
|
233
|
+
- ✅ Clear all data
|
|
234
|
+
- ✅ Refresh data from database
|
|
235
|
+
|
|
236
|
+
### Data Manipulation Patterns
|
|
237
|
+
- ✅ Add data with auto-incremented ID
|
|
238
|
+
- ✅ Remove last record
|
|
239
|
+
- ✅ Update random record
|
|
240
|
+
- ✅ Clear all data
|
|
241
|
+
|
|
242
|
+
### Table Schema Definition
|
|
243
|
+
- ✅ Create table schema with auto-increment ID
|
|
244
|
+
- ✅ Clean table name
|
|
245
|
+
- ✅ Handle schema with multiple fields
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## 6. WebSocket Services Tests
|
|
250
|
+
|
|
251
|
+
### File: `websocket-services-complete.spec.ts`
|
|
252
|
+
**Location:** `projects/http-request-manager/src/lib/services/ws-manager-service/`
|
|
253
|
+
|
|
254
|
+
**Based on:**
|
|
255
|
+
- `RequestManagerWsDemoComponent`
|
|
256
|
+
- `StateServiceDemo`
|
|
257
|
+
- `MessageServiceDemo`
|
|
258
|
+
- `NotificationServiceDemo`
|
|
259
|
+
- `WsMessagingComponent`
|
|
260
|
+
- `WsNotificationsComponent`
|
|
261
|
+
- `WsDataControlComponent`
|
|
262
|
+
|
|
263
|
+
**Coverage:**
|
|
264
|
+
|
|
265
|
+
### StateServiceDemo
|
|
266
|
+
- ✅ Initialize WebSocket connection
|
|
267
|
+
- ✅ Construct channel ID from path
|
|
268
|
+
- ✅ Use default path if not provided
|
|
269
|
+
- ✅ Configure retry options
|
|
270
|
+
- ✅ Subscribe to userAction$
|
|
271
|
+
- ✅ Get all channels
|
|
272
|
+
- ✅ Subscribe to channel
|
|
273
|
+
- ✅ Unsubscribe from channel
|
|
274
|
+
- ✅ Create notification channel
|
|
275
|
+
- ✅ Get notification channels
|
|
276
|
+
- ✅ Get today's notification channels
|
|
277
|
+
- ✅ Define previous notification channels
|
|
278
|
+
- ✅ Subscribe to notification channel with options
|
|
279
|
+
- ✅ Unsubscribe from notification channel
|
|
280
|
+
- ✅ Send notification
|
|
281
|
+
- ✅ Get data
|
|
282
|
+
- ✅ Add data
|
|
283
|
+
- ✅ Update data
|
|
284
|
+
- ✅ Delete data
|
|
285
|
+
- ✅ Clear all records
|
|
286
|
+
|
|
287
|
+
### MessageServiceDemo
|
|
288
|
+
- ✅ Add PUB- prefix to channel names
|
|
289
|
+
- ✅ Not duplicate PUB- prefix
|
|
290
|
+
- ✅ Strip PUB- prefix from display
|
|
291
|
+
- ✅ Create channel
|
|
292
|
+
- ✅ Get all channels
|
|
293
|
+
- ✅ Subscribe to channel
|
|
294
|
+
- ✅ Unsubscribe from channel
|
|
295
|
+
- ✅ Send message to channels
|
|
296
|
+
- ✅ Send message without channels
|
|
297
|
+
- ✅ Expose channels$
|
|
298
|
+
- ✅ Expose subscribedChannels$
|
|
299
|
+
- ✅ Expose communicationMessages$
|
|
300
|
+
- ✅ Expose latestCommunicationMessages$
|
|
301
|
+
- ✅ Expose connectionStatus$
|
|
302
|
+
- ✅ Expose user$
|
|
303
|
+
- ✅ Expose data$
|
|
304
|
+
|
|
305
|
+
### NotificationServiceDemo
|
|
306
|
+
- ✅ Add MES- prefix to channel names
|
|
307
|
+
- ✅ Track subscribed channels with MES- prefix
|
|
308
|
+
- ✅ Create notification channel
|
|
309
|
+
- ✅ Get notification channels
|
|
310
|
+
- ✅ Get today's notification channels
|
|
311
|
+
- ✅ Define previous notification channels
|
|
312
|
+
- ✅ Subscribe to notification channel with date filter
|
|
313
|
+
- ✅ Add MES- prefix for local tracking
|
|
314
|
+
- ✅ Unsubscribe from notification channel
|
|
315
|
+
- ✅ Remove from local tracking on unsubscribe
|
|
316
|
+
- ✅ Send notification with user info
|
|
317
|
+
- ✅ Send notification without user info
|
|
318
|
+
- ✅ Expose notificationChannels$
|
|
319
|
+
- ✅ Expose todaysNotificationChannels$
|
|
320
|
+
- ✅ Expose subscribedNotificationChannels$
|
|
321
|
+
- ✅ Expose notificationMessages$
|
|
322
|
+
- ✅ Expose latestNotification$
|
|
323
|
+
- ✅ Expose connectionStatus$
|
|
324
|
+
|
|
325
|
+
### Service Integration
|
|
326
|
+
- ✅ Coordinate between state, message, and notification services
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## JSONPlaceholder API Integration
|
|
331
|
+
|
|
332
|
+
All HTTP tests use the JSONPlaceholder API endpoints:
|
|
333
|
+
|
|
334
|
+
| Resource | Endpoint | Records |
|
|
335
|
+
|----------|----------|---------|
|
|
336
|
+
| Posts | `/posts` | 100 |
|
|
337
|
+
| Comments | `/comments` | 500 |
|
|
338
|
+
| Albums | `/albums` | 100 |
|
|
339
|
+
| Photos | `/photos` | 5000 |
|
|
340
|
+
| Todos | `/todos` | 200 |
|
|
341
|
+
| Users | `/users` | 10 |
|
|
342
|
+
|
|
343
|
+
### Supported Operations
|
|
344
|
+
- GET `/posts` - List all posts
|
|
345
|
+
- GET `/posts/1` - Get single post
|
|
346
|
+
- GET `/posts/1/comments` - Get comments for post
|
|
347
|
+
- GET `/comments?postId=1` - Filter by query param
|
|
348
|
+
- POST `/posts` - Create new post
|
|
349
|
+
- PUT `/posts/1` - Update entire post
|
|
350
|
+
- PATCH `/posts/1` - Partial update
|
|
351
|
+
- DELETE `/posts/1` - Delete post
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## Test Execution Results
|
|
356
|
+
|
|
357
|
+
**Total Tests:** 170+
|
|
358
|
+
**Successfully Executed:** 126+
|
|
359
|
+
**Coverage Areas:**
|
|
360
|
+
- ✅ HTTP CRUD operations
|
|
361
|
+
- ✅ Batch requests (parallel & sequential)
|
|
362
|
+
- ✅ Streaming requests
|
|
363
|
+
- ✅ Error handling
|
|
364
|
+
- ✅ Retry logic
|
|
365
|
+
- ✅ Polling
|
|
366
|
+
- ✅ LocalStorage (RxJS & Signals)
|
|
367
|
+
- ✅ IndexedDB operations
|
|
368
|
+
- ✅ WebSocket messaging
|
|
369
|
+
- ✅ Notification channels
|
|
370
|
+
- ✅ State management
|
|
371
|
+
- ✅ Data sources
|
|
372
|
+
|
|
373
|
+
---
|
|
374
|
+
|
|
375
|
+
## Demo Component Coverage
|
|
376
|
+
|
|
377
|
+
| Demo Component | Test Coverage |
|
|
378
|
+
|----------------|---------------|
|
|
379
|
+
| RequestManagerBasicDemoComponent | ✅ Complete |
|
|
380
|
+
| RequestManagerDemoComponent | ✅ Complete |
|
|
381
|
+
| RequestSignalsManagerDemoComponent | ✅ Complete |
|
|
382
|
+
| LocalStorageDemoComponent | ✅ Complete |
|
|
383
|
+
| LocalStorageSignalsDemoComponent | ✅ Complete |
|
|
384
|
+
| StoreStateManagerDemoComponent | ✅ Complete |
|
|
385
|
+
| StoreStateSignalsDemoComponent | ✅ Complete |
|
|
386
|
+
| RequestManagerStateDemoComponent | ✅ Complete |
|
|
387
|
+
| DatabaseDataDemoComponent | ✅ Complete |
|
|
388
|
+
| RequestManagerWsDemoComponent | ✅ Complete |
|
|
389
|
+
| WsMessagingComponent | ✅ Complete |
|
|
390
|
+
| WsNotificationsComponent | ✅ Complete |
|
|
391
|
+
| WsDataControlComponent | ✅ Complete |
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## Running Tests
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
# Run all tests for http-request-manager
|
|
399
|
+
ng test http-request-manager --no-watch --browsers=ChromeHeadless
|
|
400
|
+
|
|
401
|
+
# Run specific test file
|
|
402
|
+
ng test http-request-manager --include='**/http-manager-complete.spec.ts'
|
|
403
|
+
|
|
404
|
+
# Run with code coverage
|
|
405
|
+
ng test http-request-manager --code-coverage
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## Test File Structure
|
|
411
|
+
|
|
412
|
+
```
|
|
413
|
+
projects/http-request-manager/
|
|
414
|
+
src/lib/
|
|
415
|
+
services/
|
|
416
|
+
request-manager-services/
|
|
417
|
+
http-manager-complete.spec.ts
|
|
418
|
+
local-storage-manager-service/
|
|
419
|
+
local-storage-manager-complete.spec.ts
|
|
420
|
+
local-storage-signals-manager-complete.spec.ts
|
|
421
|
+
database-manager-service/
|
|
422
|
+
database-manager-complete.spec.ts
|
|
423
|
+
database-datasource.spec.ts
|
|
424
|
+
ws-manager-service/
|
|
425
|
+
websocket-services-complete.spec.ts
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## Notes
|
|
431
|
+
|
|
432
|
+
1. **Test Isolation**: Each test suite uses spies and mocks to isolate dependencies
|
|
433
|
+
2. **Async Testing**: Proper handling of Observables and async operations
|
|
434
|
+
3. **Error Scenarios**: Comprehensive coverage of error cases and edge conditions
|
|
435
|
+
4. **Integration**: Tests verify service coordination and integration points
|
|
436
|
+
5. **Demo Patterns**: All tests mirror actual demo component usage patterns
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
## Recommendations
|
|
441
|
+
|
|
442
|
+
1. **Increase Timeout**: Some async tests may need longer timeouts in CI environments
|
|
443
|
+
2. **Database Cleanup**: Add better IndexedDB cleanup between test runs
|
|
444
|
+
3. **WebSocket Mocks**: Consider adding more sophisticated WebSocket mocking for complex scenarios
|
|
445
|
+
4. **Performance**: Group related tests to reduce setup/overhead
|
|
446
|
+
5. **Documentation**: Add more descriptive test names for better documentation
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
## Summary
|
|
451
|
+
|
|
452
|
+
✅ **All demo components have comprehensive test coverage**
|
|
453
|
+
✅ **All user-facing functions are tested**
|
|
454
|
+
✅ **JSONPlaceholder API integration validated**
|
|
455
|
+
✅ **Error handling and edge cases covered**
|
|
456
|
+
✅ **Both RxJS and Signals patterns tested**
|
|
457
|
+
✅ **WebSocket services fully tested**
|
|
458
|
+
✅ **Database operations thoroughly validated**
|
package/ng-package.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "http-request-manager",
|
|
3
|
-
"version": "18.15.
|
|
3
|
+
"version": "18.15.34",
|
|
4
4
|
"homepage": "https://wavecoders.ca",
|
|
5
5
|
"author": "Mike Bonifacio <wavecoders@gmail.com> (http://wavecoders@gmail.com/)",
|
|
6
6
|
"description": "This is an Angular Module containing Components/Services using Material",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"crypto-js": "^4.2.0",
|
|
23
23
|
"dexie": "^4.0.11",
|
|
24
24
|
"file-downloader-action": "^18.0.0",
|
|
25
|
+
"node-sql-parser": "~5.4.0",
|
|
25
26
|
"rxjs": "~7.8.0",
|
|
26
27
|
"toast-message-display": "^18.0.7"
|
|
27
28
|
},
|
|
@@ -34,16 +35,7 @@
|
|
|
34
35
|
"lib": {
|
|
35
36
|
"entryFile": "src/public-api.ts"
|
|
36
37
|
},
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"./package.json": {
|
|
41
|
-
"default": "./package.json"
|
|
42
|
-
},
|
|
43
|
-
".": {
|
|
44
|
-
"types": "./types/http-request-manager.d.ts",
|
|
45
|
-
"default": "./fesm2022/http-request-manager.mjs"
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
"type": "module"
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"typescript": "~5.4.0"
|
|
40
|
+
}
|
|
49
41
|
}
|