generator-jhipster 8.5.0 → 8.6.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.
Files changed (211) hide show
  1. package/README.md +3 -4
  2. package/dist/cli/commands.mjs +2 -0
  3. package/dist/cli/environment-builder.mjs +5 -0
  4. package/dist/cli/program.mjs +10 -4
  5. package/dist/generators/angular/entity-files-angular.js +6 -7
  6. package/dist/generators/angular/resources/package.json +17 -17
  7. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +4 -3
  8. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +3 -2
  9. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +4 -5
  10. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.service.spec.ts.ejs +3 -2
  11. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +4 -3
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +3 -2
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +3 -3
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +3 -2
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +2 -3
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.service.spec.ts.ejs +3 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +3 -3
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +3 -4
  19. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +3 -3
  20. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +3 -2
  21. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +4 -4
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +3 -2
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +3 -3
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +4 -3
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +3 -2
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.ts.ejs +1 -1
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.spec.ts.ejs +3 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +3 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +3 -2
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +3 -3
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +1 -1
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +3 -4
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +3 -3
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -2
  35. package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -1
  36. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +0 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/app.config.ts.ejs +2 -2
  38. package/dist/generators/angular/templates/src/main/webapp/app/config/uib-pagination.config.ts.ejs +1 -1
  39. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +7 -5
  40. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/auth-jwt.service.spec.ts.ejs +3 -2
  41. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth-expired.interceptor.ts.ejs +3 -3
  42. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/auth.interceptor.ts.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/core/interceptor/error-handler.interceptor.ts.ejs +1 -1
  44. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.spec.ts.ejs +6 -6
  45. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +3 -4
  46. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +1 -1
  47. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -3
  48. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +2 -2
  49. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +2 -3
  50. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +5 -3
  51. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +2 -3
  52. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.ts.ejs +2 -2
  53. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +3 -3
  54. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
  55. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +3 -2
  56. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +3 -3
  57. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/find-language-from-key.pipe.ts.ejs +1 -1
  58. package/dist/generators/angular/templates/src/main/webapp/app/shared/language/translation.module.ts.ejs +2 -2
  59. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +10 -10
  60. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +6 -7
  61. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs +4 -4
  62. package/dist/generators/angular/templates/src/main/webapp/content/scss/global.scss.ejs +2 -0
  63. package/dist/generators/base/command.js +1 -0
  64. package/dist/generators/base/generator.js +7 -12
  65. package/dist/generators/base/internal/command.js +13 -0
  66. package/dist/generators/base/internal/index.js +1 -0
  67. package/dist/generators/base/shared-data.js +74 -2
  68. package/dist/generators/base/support/config.js +1 -1
  69. package/dist/generators/base/support/jhipster7-context.js +155 -52
  70. package/dist/generators/base-application/generator.js +1 -1
  71. package/dist/generators/base-core/generator.js +93 -55
  72. package/dist/generators/bootstrap/generator.js +1 -1
  73. package/dist/generators/bootstrap/support/eslint-worker.js +14 -12
  74. package/dist/generators/bootstrap/support/multi-step-transform/template-file.js +6 -1
  75. package/dist/generators/bootstrap-application/generator.js +1 -1
  76. package/dist/generators/bootstrap-application-client/generator.js +5 -1
  77. package/dist/generators/ci-cd/generator.js +1 -1
  78. package/dist/generators/ci-cd/templates/docker-registry.yml.ejs +0 -1
  79. package/dist/generators/ci-cd/templates/jenkins/jenkins.yml.ejs +0 -1
  80. package/dist/generators/client/generator.js +2 -3
  81. package/dist/generators/client/resources/package.json +3 -3
  82. package/dist/generators/client/support/filter-entities.js +1 -1
  83. package/dist/generators/client/templates/.eslintignore.ejs +9 -5
  84. package/dist/generators/client/templates/README.md.jhi.client.ejs +29 -20
  85. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
  86. package/dist/generators/common/resources/package.json +1 -1
  87. package/dist/generators/docker/templates/docker/keycloak.yml.ejs +2 -1
  88. package/dist/generators/docker/templates/docker/mariadb.yml.ejs +1 -1
  89. package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -2
  90. package/dist/generators/docker/templates/docker/realm-config/keycloak-health-check.sh +2 -2
  91. package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -0
  92. package/dist/generators/docker-compose/templates/realm-config/keycloak-health-check.sh +2 -2
  93. package/dist/generators/feign-client/templates/src/main/java/_package_/client/AuthorizationHeaderUtil.java.ejs +1 -1
  94. package/dist/generators/gatling/generator.js +0 -1
  95. package/dist/generators/generate-blueprint/files.js +3 -1
  96. package/dist/generators/generate-blueprint/generator.js +17 -7
  97. package/dist/generators/generate-blueprint/resources/package.json +2 -0
  98. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +2 -6
  99. package/dist/generators/generate-blueprint/templates/.github/workflows/build-cache.yml.ejs +39 -0
  100. package/dist/generators/generate-blueprint/templates/.github/workflows/samples.yml.ejs +105 -0
  101. package/dist/generators/generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs +1 -1
  102. package/dist/generators/generate-blueprint/templates/eslint.config.js.ejs +33 -0
  103. package/dist/generators/generator-constants.js +2 -2
  104. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  105. package/dist/generators/heroku/generator.js +1 -1
  106. package/dist/generators/info/support/extract-info.js +60 -0
  107. package/dist/generators/info/support/index.js +1 -0
  108. package/dist/generators/init/resources/.node-version +1 -1
  109. package/dist/generators/init/resources/package.json +2 -2
  110. package/dist/generators/java/generators/bootstrap/generator.js +9 -2
  111. package/dist/generators/java/generators/build-tool/command.js +2 -2
  112. package/dist/generators/java/generators/node/templates/npmw +1 -5
  113. package/dist/generators/java/support/add-java-annotation.js +1 -1
  114. package/dist/generators/jdl/generator.js +6 -6
  115. package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +1 -0
  116. package/dist/generators/languages/generator.js +1 -0
  117. package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +1 -1
  118. package/dist/generators/maven/command.js +15 -0
  119. package/dist/generators/maven/generator.js +6 -1
  120. package/dist/generators/maven/index.js +1 -0
  121. package/dist/generators/maven/internal/xml-store.js +7 -6
  122. package/dist/generators/maven/support/pom-store.js +24 -9
  123. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  124. package/dist/generators/react/entity-files-react.js +7 -7
  125. package/dist/generators/react/resources/package.json +12 -12
  126. package/dist/generators/react/templates/src/main/webapp/app/app.tsx.ejs +9 -0
  127. package/dist/generators/react/templates/src/main/webapp/app/config/translation.ts.ejs +4 -0
  128. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +15 -1
  129. package/dist/generators/react/templates/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +4 -0
  130. package/dist/generators/react/templates/src/main/webapp/app/modules/login/logout.tsx.ejs +5 -3
  131. package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +1 -1
  132. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +1 -1
  133. package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.tsx.ejs +1 -1
  134. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/header/header.tsx.ejs +0 -9
  135. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +1 -3
  136. package/dist/generators/react/templates/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +29 -6
  137. package/dist/generators/react/templates/src/main/webapp/app/shared/util/url-utils.ts.ejs +1 -1
  138. package/dist/generators/server/generator.js +7 -5
  139. package/dist/generators/server/resources/Dockerfile +5 -5
  140. package/dist/generators/server/resources/gradle/libs.versions.toml +5 -5
  141. package/dist/generators/server/resources/pom.xml +11 -11
  142. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
  143. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -1
  144. package/dist/generators/server/templates/pom.xml.ejs +0 -26
  145. package/dist/generators/server/templates/src/main/java/_package_/config/AsyncConfiguration.java.ejs +1 -1
  146. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +1 -1
  147. package/dist/generators/server/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +1 -1
  148. package/dist/generators/server/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +1 -1
  149. package/dist/generators/server/templates/src/main/java/_package_/security/PersistentTokenRememberMeServices.java.ejs +1 -1
  150. package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AudienceValidator.java.ejs +1 -1
  151. package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +1 -1
  152. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +11 -0
  153. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +1 -1
  154. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +1 -1
  155. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +1 -1
  156. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +1 -1
  157. package/dist/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  158. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +1 -1
  159. package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
  160. package/dist/generators/spring-boot/generator.js +4 -2
  161. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +105 -105
  162. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/UserService.java.ejs +1 -1
  163. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +1 -1
  164. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.java.ejs +1 -1
  165. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/PublicUserResource.java.ejs +1 -1
  166. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/UserResource.java.ejs +1 -1
  167. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +1 -1
  168. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  169. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +3 -3
  170. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -0
  171. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_imperative.java.ejs +1 -1
  172. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/broker/KafkaConsumer_reactive.java.ejs +1 -1
  173. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +1 -1
  174. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +1 -1
  175. package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  176. package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/DatabaseConfiguration.java_neo4j.ejs +18 -2
  177. package/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +1 -1
  178. package/dist/generators/vue/entity-files-vue.js +7 -7
  179. package/dist/generators/vue/resources/package.json +11 -11
  180. package/dist/generators/vue/templates/.eslintrc.cjs.ejs +7 -0
  181. package/dist/lib/eslint/base.js +25 -0
  182. package/dist/lib/eslint/recommended.js +22 -0
  183. package/dist/testing/github.js +32 -0
  184. package/dist/testing/helpers.js +9 -0
  185. package/dist/testing/index.js +2 -0
  186. package/dist/testing/sample-config.js +31 -0
  187. package/dist/types/cli/commands.d.mts +2 -0
  188. package/dist/types/cli/environment-builder.d.mts +1 -0
  189. package/dist/types/generators/base/api.d.ts +14 -7
  190. package/dist/types/generators/base/internal/command.d.ts +2 -0
  191. package/dist/types/generators/base/internal/index.d.ts +1 -0
  192. package/dist/types/generators/base/shared-data.d.ts +10 -1
  193. package/dist/types/generators/base/types.d.ts +12 -0
  194. package/dist/types/generators/base-application/types.d.ts +11 -0
  195. package/dist/types/generators/base-core/generator.d.ts +2 -1
  196. package/dist/types/generators/generator-constants.d.ts +1 -1
  197. package/dist/types/generators/info/support/extract-info.d.ts +14 -0
  198. package/dist/types/generators/info/support/index.d.ts +1 -0
  199. package/dist/types/generators/java/types.d.ts +12 -0
  200. package/dist/types/generators/maven/internal/xml-store.d.ts +3 -2
  201. package/dist/types/generators/maven/support/pom-store.d.ts +5 -2
  202. package/dist/types/generators/maven/types.d.ts +1 -0
  203. package/dist/types/generators/server/types.d.ts +2 -1
  204. package/dist/types/lib/eslint/base.d.ts +20 -0
  205. package/dist/types/lib/eslint/recommended.d.ts +20 -0
  206. package/dist/types/testing/github.d.ts +11 -0
  207. package/dist/types/testing/helpers.d.ts +8 -0
  208. package/dist/types/testing/index.d.ts +2 -0
  209. package/dist/types/testing/sample-config.d.ts +4 -0
  210. package/package.json +22 -18
  211. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +0 -35
@@ -17,7 +17,7 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
20
- import { HttpClientTestingModule } from '@angular/common/http/testing';
20
+ import { provideHttpClient } from '@angular/common/http';
21
21
  import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
22
22
 
23
23
  import { MetricsModalThreadsComponent } from './metrics-modal-threads.component';
@@ -30,8 +30,8 @@ describe('MetricsModalThreadsComponent', () => {
30
30
 
31
31
  beforeEach(waitForAsync(() => {
32
32
  TestBed.configureTestingModule({
33
- imports: [HttpClientTestingModule, MetricsModalThreadsComponent],
34
- providers: [NgbActiveModal],
33
+ imports: [MetricsModalThreadsComponent],
34
+ providers: [provideHttpClient(), NgbActiveModal],
35
35
  })
36
36
  .overrideTemplate(MetricsModalThreadsComponent, '')
37
37
  .compileComponents();
@@ -18,7 +18,7 @@
18
18
  -%>
19
19
  import { ChangeDetectorRef } from '@angular/core';
20
20
  import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
21
- import { HttpClientTestingModule } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
22
22
  import { of } from 'rxjs';
23
23
 
24
24
  import MetricsComponent from './metrics.component';
@@ -34,7 +34,8 @@ describe('MetricsComponent', () => {
34
34
  beforeEach(
35
35
  waitForAsync(() => {
36
36
  TestBed.configureTestingModule({
37
- imports: [HttpClientTestingModule, MetricsComponent],
37
+ imports: [MetricsComponent],
38
+ providers: [provideHttpClient()],
38
39
  })
39
40
  .overrideTemplate(MetricsComponent, '')
40
41
  .compileComponents();
@@ -17,7 +17,8 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { TestBed } from '@angular/core/testing';
20
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
20
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
21
22
 
22
23
  import { MetricsService } from './metrics.service';
23
24
  import { ThreadDump, ThreadState } from './metrics.model';
@@ -28,7 +29,7 @@ describe('Logs Service', () => {
28
29
 
29
30
  beforeEach(() => {
30
31
  TestBed.configureTestingModule({
31
- imports: [HttpClientTestingModule],
32
+ providers: [provideHttpClient(), provideHttpClientTesting()],
32
33
  });
33
34
  service = TestBed.inject(MetricsService);
34
35
  httpMock = TestBed.inject(HttpTestingController);
@@ -19,7 +19,7 @@
19
19
  jest.mock('@ng-bootstrap/ng-bootstrap');
20
20
 
21
21
  import { ComponentFixture, TestBed, waitForAsync, inject, fakeAsync, tick } from '@angular/core/testing';
22
- import { HttpClientTestingModule } from '@angular/common/http/testing';
22
+ import { provideHttpClient } from '@angular/common/http';
23
23
  import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
24
24
  import { of } from 'rxjs';
25
25
 
@@ -36,8 +36,8 @@ describe('User Management Delete Component', () => {
36
36
  beforeEach(
37
37
  waitForAsync(() => {
38
38
  TestBed.configureTestingModule({
39
- imports: [HttpClientTestingModule, UserManagementDeleteDialogComponent],
40
- providers: [NgbActiveModal],
39
+ imports: [UserManagementDeleteDialogComponent],
40
+ providers: [provideHttpClient(), NgbActiveModal],
41
41
  })
42
42
  .overrideTemplate(UserManagementDeleteDialogComponent, '')
43
43
  .compileComponents();
@@ -22,7 +22,7 @@
22
22
 
23
23
  <div class="d-flex justify-content-end">
24
24
  <button class="btn btn-info me-2" (click)="loadAll()" [disabled]="isLoading()">
25
- <fa-icon icon="sync" [spin]="isLoading()"></fa-icon>
25
+ <fa-icon icon="sync" [animation]="isLoading() ? 'spin' : undefined"></fa-icon>
26
26
  <span>__jhiTranslateTag__('userManagement.home.refreshListLabel')</span>
27
27
  </button>
28
28
  <button class="btn btn-primary jh-create-entity" [routerLink]="['./new']">
@@ -22,8 +22,7 @@ _%>
22
22
  jest.mock('app/core/auth/account.service');
23
23
 
24
24
  import { ComponentFixture, TestBed, waitForAsync, inject, fakeAsync, tick } from '@angular/core/testing';
25
- import { HttpHeaders, HttpResponse } from '@angular/common/http';
26
- import { HttpClientTestingModule } from '@angular/common/http/testing';
25
+ import { provideHttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';
27
26
  import { ActivatedRoute } from '@angular/router';
28
27
  import { of } from 'rxjs';
29
28
 
@@ -52,8 +51,8 @@ describe('User Management Component', () => {
52
51
  beforeEach(
53
52
  waitForAsync(() => {
54
53
  TestBed.configureTestingModule({
55
- imports: [HttpClientTestingModule, UserManagementComponent],
56
- providers: [{ provide: ActivatedRoute, useValue: { data, queryParamMap } }, AccountService],
54
+ imports: [UserManagementComponent],
55
+ providers: [provideHttpClient(), { provide: ActivatedRoute, useValue: { data, queryParamMap } }, AccountService],
57
56
  })
58
57
  .overrideTemplate(UserManagementComponent, '')
59
58
  .compileComponents();
@@ -20,8 +20,8 @@
20
20
  const tsKeyId = this.generateTestEntityId(user.primaryKey.type);
21
21
  _%>
22
22
  import { TestBed } from '@angular/core/testing';
23
- import { HttpErrorResponse } from '@angular/common/http';
24
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
23
+ import { provideHttpClient, HttpErrorResponse } from '@angular/common/http';
24
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
25
25
 
26
26
  <%_ if (generateBuiltInAuthorityEntity) { _%>
27
27
  import { Authority } from 'app/config/authority.constants';
@@ -36,7 +36,7 @@ describe('User Service', () => {
36
36
 
37
37
  beforeEach(() => {
38
38
  TestBed.configureTestingModule({
39
- imports: [HttpClientTestingModule],
39
+ providers: [provideHttpClient(), provideHttpClientTesting()],
40
40
  });
41
41
 
42
42
  service = TestBed.inject(UserManagementService);
@@ -20,7 +20,7 @@
20
20
  const tsKeyId = this.generateTestEntityId(user.primaryKey.type);
21
21
  _%>
22
22
  import { ComponentFixture, TestBed, waitForAsync, inject, fakeAsync, tick } from '@angular/core/testing';
23
- import { HttpClientTestingModule } from '@angular/common/http/testing';
23
+ import { provideHttpClient } from '@angular/common/http';
24
24
  import { FormBuilder } from '@angular/forms';
25
25
  import { ActivatedRoute } from '@angular/router';
26
26
  import { of } from 'rxjs';
@@ -38,8 +38,9 @@ describe('User Management Update Component', () => {
38
38
 
39
39
  beforeEach(waitForAsync(() => {
40
40
  TestBed.configureTestingModule({
41
- imports: [HttpClientTestingModule, UserManagementUpdateComponent],
41
+ imports: [UserManagementUpdateComponent],
42
42
  providers: [
43
+ provideHttpClient(),
43
44
  FormBuilder,
44
45
  {
45
46
  provide: ActivatedRoute,
@@ -25,7 +25,7 @@ import { TranslateService } from "@ngx-translate/core";
25
25
  @Injectable()
26
26
  export class AppPageTitleStrategy extends TitleStrategy {
27
27
  <%_ if (enableTranslation) { _%>
28
- private translateService = inject(TranslateService);
28
+ private readonly translateService = inject(TranslateService);
29
29
  <%_ } _%>
30
30
 
31
31
  override updateTitle(routerState: RouterStateSnapshot): void {
@@ -23,7 +23,6 @@ import { FaIconLibrary } from '@fortawesome/angular-fontawesome';
23
23
  import { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';
24
24
  import { provideRouter } from '@angular/router';
25
25
  import { registerLocaleData } from '@angular/common';
26
- import { HttpClientModule } from '@angular/common/http';
27
26
  import locale from '@angular/common/locales/<%= angularLocaleId %>';
28
27
  import { FaIconLibrary } from '@fortawesome/angular-fontawesome';
29
28
  import dayjs from 'dayjs/esm';
@@ -20,7 +20,7 @@ import { ApplicationConfig, LOCALE_ID, importProvidersFrom, inject } from '@angu
20
20
  import { BrowserModule, Title } from '@angular/platform-browser';
21
21
  import { Router, RouterFeatures, TitleStrategy, provideRouter, withComponentInputBinding, withDebugTracing, withNavigationErrorHandler, NavigationError } from '@angular/router';
22
22
  import { ServiceWorkerModule } from '@angular/service-worker';
23
- import { HttpClientModule } from '@angular/common/http';
23
+ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
24
24
 
25
25
  import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';
26
26
 
@@ -62,7 +62,7 @@ export const appConfig: ApplicationConfig = {
62
62
  <%_ if (enableTranslation) { _%>
63
63
  importProvidersFrom(TranslationModule),
64
64
  <%_ } _%>
65
- importProvidersFrom(HttpClientModule),
65
+ provideHttpClient(withInterceptorsFromDi()),
66
66
  Title,
67
67
  { provide: LOCALE_ID, useValue: '<%= angularLocaleId %>' },
68
68
  { provide: NgbDateAdapter, useClass: NgbDateDayjsAdapter },
@@ -23,7 +23,7 @@ import { ITEMS_PER_PAGE } from 'app/config/pagination.constants';
23
23
 
24
24
  @Injectable({ providedIn: 'root' })
25
25
  export class PaginationConfig {
26
- private config = inject(NgbPaginationConfig);
26
+ private readonly config = inject(NgbPaginationConfig);
27
27
  constructor() {
28
28
  this.config.boundaryLinks = true;
29
29
  this.config.maxSize = 5;
@@ -19,7 +19,8 @@
19
19
  jest.mock('app/core/auth/state-storage.service');
20
20
 
21
21
  import { Router } from '@angular/router';
22
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
22
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
23
+ import { provideHttpClient } from '@angular/common/http';
23
24
  import { TestBed } from '@angular/core/testing';
24
25
  <%_ if (enableTranslation) { _%>
25
26
  import { TranslateModule, TranslateService } from '@ngx-translate/core';
@@ -62,13 +63,14 @@ describe('Account Service', () => {
62
63
 
63
64
  beforeEach(() => {
64
65
  TestBed.configureTestingModule({
66
+ <%_ if (enableTranslation) { _%>
65
67
  imports: [
66
- HttpClientTestingModule,
67
- <%_ if (enableTranslation) { _%>
68
68
  TranslateModule.forRoot(),
69
- <%_ } _%>
70
69
  ],
70
+ <%_ } _%>
71
71
  providers: [
72
+ provideHttpClient(),
73
+ provideHttpClientTesting(),
72
74
  StateStorageService,
73
75
  ],
74
76
  });
@@ -214,7 +216,7 @@ describe('save', () => {
214
216
  it('should not navigate to the previous stored url when authentication fails', () => {
215
217
  // WHEN
216
218
  service.identity().subscribe();
217
- httpMock.expectOne({ method: 'GET' }).error(new ErrorEvent(''));
219
+ httpMock.expectOne({ method: 'GET' }).error(new ProgressEvent(''));
218
220
 
219
221
  // THEN
220
222
  expect(mockStorageService.getUrl).not.toHaveBeenCalled();
@@ -17,7 +17,8 @@
17
17
  limitations under the License.
18
18
  -%>
19
19
  import { TestBed } from '@angular/core/testing';
20
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
20
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
21
+ import { provideHttpClient } from '@angular/common/http';
21
22
  import { AuthServerProvider } from 'app/core/auth/auth-jwt.service';
22
23
  import { StateStorageService } from './state-storage.service';
23
24
 
@@ -28,7 +29,7 @@ describe('Auth JWT', () => {
28
29
 
29
30
  beforeEach(() => {
30
31
  TestBed.configureTestingModule({
31
- imports: [HttpClientTestingModule],
32
+ providers: [provideHttpClient(), provideHttpClientTesting()],
32
33
  });
33
34
 
34
35
  mockStorageService = TestBed.inject(StateStorageService);
@@ -27,9 +27,9 @@ import { StateStorageService } from 'app/core/auth/state-storage.service';
27
27
 
28
28
  @Injectable()
29
29
  export class AuthExpiredInterceptor implements HttpInterceptor {
30
- private loginService = inject(LoginService);
31
- private stateStorageService = inject(StateStorageService);
32
- private router = inject(Router);
30
+ private readonly loginService = inject(LoginService);
31
+ private readonly stateStorageService = inject(StateStorageService);
32
+ private readonly router = inject(Router);
33
33
 
34
34
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
35
35
  return next.handle(request).pipe(
@@ -25,8 +25,8 @@ import { ApplicationConfigService } from '../config/application-config.service';
25
25
 
26
26
  @Injectable()
27
27
  export class AuthInterceptor implements HttpInterceptor {
28
- private stateStorageService = inject(StateStorageService);
29
- private applicationConfigService = inject(ApplicationConfigService);
28
+ private readonly stateStorageService = inject(StateStorageService);
29
+ private readonly applicationConfigService = inject(ApplicationConfigService);
30
30
 
31
31
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
32
32
  const serverApiUrl = this.applicationConfigService.getEndpointFor('');
@@ -25,7 +25,7 @@ import { EventManager, EventWithContent } from 'app/core/util/event-manager.serv
25
25
 
26
26
  @Injectable()
27
27
  export class ErrorHandlerInterceptor implements HttpInterceptor {
28
- private eventManager = inject(EventManager);
28
+ private readonly eventManager = inject(EventManager);
29
29
 
30
30
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
31
31
  return next.handle(request).pipe(
@@ -123,10 +123,10 @@ describe('Alert service test', () => {
123
123
 
124
124
  it('should produce an alert object with correct id', inject([AlertService], (service: AlertService) => {
125
125
  service.addAlert({ type: 'info', message: 'Hello Jhipster info' });
126
- expect(service.addAlert({ type: 'success', message: 'Hello Jhipster success' })).toEqual(
126
+ expect(service.addAlert({ type: 'success', message: 'Hello JHipster success' })).toEqual(
127
127
  expect.objectContaining({
128
128
  type: 'success',
129
- message: 'Hello Jhipster success',
129
+ message: 'Hello JHipster success',
130
130
  id: 1,
131
131
  } as Alert)
132
132
  );
@@ -135,7 +135,7 @@ describe('Alert service test', () => {
135
135
  expect(service.get()[1]).toEqual(
136
136
  expect.objectContaining({
137
137
  type: 'success',
138
- message: 'Hello Jhipster success',
138
+ message: 'Hello JHipster success',
139
139
  id: 1,
140
140
  } as Alert)
141
141
  );
@@ -144,11 +144,11 @@ describe('Alert service test', () => {
144
144
  it('should close an alert correctly', inject([AlertService], (service: AlertService) => {
145
145
  const alert0 = service.addAlert({ type: 'info', message: 'Hello Jhipster info' });
146
146
  const alert1 = service.addAlert({ type: 'info', message: 'Hello Jhipster info 2' });
147
- const alert2 = service.addAlert({ type: 'success', message: 'Hello Jhipster success' });
147
+ const alert2 = service.addAlert({ type: 'success', message: 'Hello JHipster success' });
148
148
  expect(alert2).toEqual(
149
149
  expect.objectContaining({
150
150
  type: 'success',
151
- message: 'Hello Jhipster success',
151
+ message: 'Hello JHipster success',
152
152
  id: 2,
153
153
  } as Alert)
154
154
  );
@@ -168,7 +168,7 @@ describe('Alert service test', () => {
168
168
  expect(service.get()[0]).not.toEqual(
169
169
  expect.objectContaining({
170
170
  type: 'success',
171
- message: 'Hello Jhipster success',
171
+ message: 'Hello JHipster success',
172
172
  id: 2,
173
173
  } as Alert)
174
174
  );
@@ -22,8 +22,7 @@ _%>
22
22
  jest.mock('@ng-bootstrap/ng-bootstrap');
23
23
 
24
24
  import { ComponentFixture, TestBed, inject, fakeAsync, tick } from '@angular/core/testing';
25
- import { HttpResponse } from '@angular/common/http';
26
- import { HttpClientTestingModule } from '@angular/common/http/testing';
25
+ import { provideHttpClient, HttpResponse } from '@angular/common/http';
27
26
  import { of } from 'rxjs';
28
27
  import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
29
28
 
@@ -39,8 +38,8 @@ describe('<%= entityAngularName %> Management Delete Component', () => {
39
38
 
40
39
  beforeEach(() => {
41
40
  TestBed.configureTestingModule({
42
- imports: [HttpClientTestingModule, <%= entityAngularName %>DeleteDialogComponent],
43
- providers: [NgbActiveModal]
41
+ imports: [<%= entityAngularName %>DeleteDialogComponent],
42
+ providers: [provideHttpClient(), NgbActiveModal]
44
43
  })
45
44
  .overrideTemplate(<%= entityAngularName %>DeleteDialogComponent, '')
46
45
  .compileComponents();
@@ -22,7 +22,7 @@
22
22
 
23
23
  <div class="d-flex justify-content-end">
24
24
  <button class="btn btn-info me-2" (click)="load()" [disabled]="isLoading">
25
- <fa-icon icon="sync" [spin]="isLoading"></fa-icon>
25
+ <fa-icon icon="sync" [animation]="isLoading ? 'spin' : undefined"></fa-icon>
26
26
  <span>__jhiTranslateTag__('<%- i18nKeyPrefix %>.home.refreshListLabel')</span>
27
27
  </button>
28
28
  <%_ if (!readOnly) { _%>
@@ -29,8 +29,7 @@ import {
29
29
  fakeAsync, inject, tick,
30
30
  <%_ } _%>
31
31
  } from '@angular/core/testing';
32
- import { HttpHeaders, HttpResponse } from '@angular/common/http';
33
- import { HttpClientTestingModule } from '@angular/common/http/testing';
32
+ import { provideHttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';
34
33
  import { ActivatedRoute } from '@angular/router';
35
34
  import {
36
35
  of,
@@ -59,10 +58,10 @@ describe('<%= entityAngularName %> Management Component', () => {
59
58
  beforeEach(() => {
60
59
  TestBed.configureTestingModule({
61
60
  imports: [
62
- HttpClientTestingModule,
63
61
  <%= entityAngularName %>Component,
64
62
  ],
65
63
  providers: [
64
+ provideHttpClient(),
66
65
  {
67
66
  provide: ActivatedRoute,
68
67
  useValue: {
@@ -81,7 +81,7 @@ import { ParseLinks } from 'app/core/util/parse-links.service';
81
81
  import { FilterComponent, FilterOptions, IFilterOptions, IFilterOption } from 'app/shared/filter';
82
82
  <%_ } _%>
83
83
  <%_ if (paginationInfiniteScroll) { _%>
84
- import { InfiniteScrollModule } from 'ngx-infinite-scroll';
84
+ import { InfiniteScrollDirective } from 'ngx-infinite-scroll';
85
85
  <%_ } _%>
86
86
 
87
87
  @Component({
@@ -106,7 +106,7 @@ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
106
106
  ItemCountComponent,
107
107
  <%_ } _%>
108
108
  <%_ if (paginationInfiniteScroll) { _%>
109
- InfiniteScrollModule,
109
+ InfiniteScrollDirective,
110
110
  <%_ } _%>
111
111
  ],
112
112
  })
@@ -20,8 +20,7 @@
20
20
  const tsKeyId = this.generateTestEntityId(primaryKey.type);
21
21
  _%>
22
22
  import { TestBed } from '@angular/core/testing';
23
- import { HttpResponse } from '@angular/common/http';
24
- import { HttpClientTestingModule } from '@angular/common/http/testing';
23
+ import { provideHttpClient, HttpResponse } from '@angular/common/http';
25
24
  import { ActivatedRouteSnapshot, ActivatedRoute, Router, convertToParamMap } from '@angular/router';
26
25
  import { of } from 'rxjs';
27
26
 
@@ -38,8 +37,8 @@ describe('<%= entityAngularName %> routing resolve service', () => {
38
37
 
39
38
  beforeEach(() => {
40
39
  TestBed.configureTestingModule({
41
- imports: [HttpClientTestingModule],
42
40
  providers: [
41
+ provideHttpClient(),
43
42
  {
44
43
  provide: ActivatedRoute,
45
44
  useValue: {
@@ -21,7 +21,8 @@ const tsKeyId = this.generateTestEntityId(primaryKey.type);
21
21
  const enumImports = this.generateEntityClientEnumImports(fields);
22
22
  _%>
23
23
  import { TestBed } from '@angular/core/testing';
24
- import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
24
+ import { provideHttpClientTesting, HttpTestingController } from '@angular/common/http/testing';
25
+ import { provideHttpClient } from '@angular/common/http';
25
26
 
26
27
  <%_ if (anyFieldIsLocalDate) { _%>
27
28
  import { DATE_FORMAT } from 'app/config/input.constants';
@@ -49,8 +50,9 @@ describe('<%= entityAngularName %> Service', () => {
49
50
 
50
51
  beforeEach(() => {
51
52
  TestBed.configureTestingModule({
52
- imports: [
53
- HttpClientTestingModule
53
+ providers: [
54
+ provideHttpClient(),
55
+ provideHttpClientTesting()
54
56
  ]
55
57
  });
56
58
  expectedResult = null;
@@ -26,8 +26,7 @@ const testEntityPrimaryKey0 = this.generateTestEntityPrimaryKey(primaryKey, 0);
26
26
  const testEntityPrimaryKey1 = this.generateTestEntityPrimaryKey(primaryKey, 1);
27
27
  _%>
28
28
  import { ComponentFixture, TestBed } from '@angular/core/testing';
29
- import { HttpResponse } from '@angular/common/http';
30
- import { HttpClientTestingModule } from '@angular/common/http/testing';
29
+ import { provideHttpClient, HttpResponse } from '@angular/common/http';
31
30
  import { FormBuilder } from '@angular/forms';
32
31
  import { ActivatedRoute } from '@angular/router';
33
32
  import { of, Subject, from } from 'rxjs';
@@ -57,10 +56,10 @@ describe('<%= entityAngularName %> Management Update Component', () => {
57
56
  beforeEach(() => {
58
57
  TestBed.configureTestingModule({
59
58
  imports: [
60
- HttpClientTestingModule,
61
59
  <%= entityAngularName %>UpdateComponent,
62
60
  ],
63
61
  providers: [
62
+ provideHttpClient(),
64
63
  FormBuilder,
65
64
  {
66
65
  provide: ActivatedRoute,
@@ -38,9 +38,9 @@ export default class ErrorComponent implements OnInit<% if (enableTranslation) {
38
38
  <%_ } _%>
39
39
 
40
40
  <%_ if (enableTranslation) { _%>
41
- private translateService = inject(TranslateService);
41
+ private readonly translateService = inject(TranslateService);
42
42
  <%_ } _%>
43
- private route = inject(ActivatedRoute);
43
+ private readonly route = inject(ActivatedRoute);
44
44
 
45
45
  ngOnInit(): void {
46
46
  this.route.data.subscribe(routeData => {
@@ -26,9 +26,9 @@ import { TranslateService, LangChangeEvent } from '@ngx-translate/core';
26
26
  export default class ActiveMenuDirective implements OnInit {
27
27
  <%= jhiPrefix %>ActiveMenu = input();
28
28
 
29
- private el = inject(ElementRef);
30
- private renderer = inject(Renderer2);
31
- private translateService = inject(TranslateService);
29
+ private readonly el = inject(ElementRef);
30
+ private readonly renderer = inject(Renderer2);
31
+ private readonly translateService = inject(TranslateService);
32
32
 
33
33
  ngOnInit(): void {
34
34
  this.translateService.onLangChange.subscribe((event: LangChangeEvent) => {
@@ -19,7 +19,8 @@
19
19
  jest.mock('app/login/login.service');
20
20
 
21
21
  import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
22
- import { HttpClientTestingModule } from '@angular/common/http/testing';
22
+ import { provideHttpClientTesting } from '@angular/common/http/testing';
23
+ import { provideHttpClient } from '@angular/common/http';
23
24
  import { of } from 'rxjs';
24
25
  <%_ if (enableTranslation) { _%>
25
26
  import { TranslateModule } from '@ngx-translate/core';
@@ -54,12 +55,11 @@ describe('Navbar Component', () => {
54
55
  TestBed.configureTestingModule({
55
56
  imports: [
56
57
  NavbarComponent,
57
- HttpClientTestingModule,
58
58
  <%_ if (enableTranslation) { _%>
59
59
  TranslateModule.forRoot(),
60
60
  <%_ } _%>
61
61
  ],
62
- providers: [LoginService],
62
+ providers: [provideHttpClient(), provideHttpClientTesting(), LoginService],
63
63
  })
64
64
  .overrideTemplate(NavbarComponent, '')
65
65
  .compileComponents();
@@ -1,5 +1,5 @@
1
1
  import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
- import { HttpClientTestingModule } from '@angular/common/http/testing';
2
+ import { provideHttpClient } from '@angular/common/http';
3
3
  import { of } from 'rxjs';
4
4
 
5
5
  import { ProfileInfo } from 'app/layouts/profiles/profile-info.model';
@@ -15,7 +15,8 @@ describe('Page Ribbon Component', () => {
15
15
  beforeEach(
16
16
  waitForAsync(() => {
17
17
  TestBed.configureTestingModule({
18
- imports: [HttpClientTestingModule, PageRibbonComponent],
18
+ imports: [PageRibbonComponent],
19
+ providers: [provideHttpClient()],
19
20
  })
20
21
  .overrideTemplate(PageRibbonComponent, '')
21
22
  .compileComponents();
@@ -19,7 +19,7 @@
19
19
  jest.mock('app/core/auth/account.service');
20
20
 
21
21
  import { Component, ElementRef, WritableSignal, signal, viewChild } from '@angular/core';
22
- import { HttpClientTestingModule } from '@angular/common/http/testing';
22
+ import { provideHttpClient } from '@angular/common/http';
23
23
  import { TestBed, waitForAsync } from '@angular/core/testing';
24
24
  <%_ if (enableTranslation) { _%>
25
25
  import { TranslateModule } from '@ngx-translate/core';
@@ -43,9 +43,9 @@ describe('HasAnyAuthorityDirective tests', () => {
43
43
 
44
44
  beforeEach(waitForAsync(() => {
45
45
  TestBed.configureTestingModule({
46
- imports: [HasAnyAuthorityDirective, HttpClientTestingModule<%_ if (enableTranslation) { _%>, TranslateModule.forRoot()<%_ } _%>],
46
+ imports: [HasAnyAuthorityDirective<%_ if (enableTranslation) { _%>, TranslateModule.forRoot()<%_ } _%>],
47
47
  declarations: [TestHasAnyAuthorityDirectiveComponent],
48
- providers: [AccountService],
48
+ providers: [provideHttpClient(), AccountService],
49
49
  });
50
50
  }));
51
51
 
@@ -23,7 +23,7 @@ import { Pipe, PipeTransform } from '@angular/core';
23
23
  name: 'findLanguageFromKey',
24
24
  })
25
25
  export default class FindLanguageFromKeyPipe implements PipeTransform {
26
- private languages: { [key: string]: { name: string; rtl?: boolean } } = {
26
+ private readonly languages: { [key: string]: { name: string; rtl?: boolean } } = {
27
27
  // jhipster-needle-i18n-language-key-pipe - JHipster will add/remove languages in this object
28
28
  };
29
29
 
@@ -71,8 +71,8 @@ export class LazyTranslationModule {
71
71
  ],
72
72
  })
73
73
  export class TranslationModule {
74
- private translateService = inject(TranslateService);
75
- private stateStorageService = inject(StateStorageService);
74
+ private readonly translateService = inject(TranslateService);
75
+ private readonly stateStorageService = inject(StateStorageService);
76
76
 
77
77
  constructor() {
78
78
  this.translateService.setDefaultLang('<%= nativeLanguage %>');