generator-jhipster 7.9.0 → 7.9.3
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/cli/environment-builder.js +15 -1
- package/cli/jhipster.js +0 -0
- package/generators/app/index.js +12 -1
- package/generators/bootstrap/index.js +33 -1
- package/generators/ci-cd/templates/circle.yml.ejs +3 -13
- package/generators/client/files-angular.js +1 -1
- package/generators/client/files-react.js +5 -2
- package/generators/client/files-vue.js +3 -2
- package/generators/client/templates/angular/jest.conf.js.ejs +6 -3
- package/generators/client/templates/angular/package.json +18 -18
- package/generators/client/templates/angular/package.json.ejs +3 -7
- package/generators/client/templates/angular/src/main/webapp/app/admin/admin-routing.module.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.model.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +17 -15
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.route.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/core/request/request-util.ts.ejs +4 -2
- package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.html.ejs +8 -6
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.ts.ejs +6 -11
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +227 -25
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.ts.ejs +104 -43
- package/generators/client/templates/angular/src/main/webapp/content/scss/global.scss.ejs +8 -0
- package/generators/client/templates/angular/tsconfig.json.ejs +0 -1
- package/generators/client/templates/angular/tsconfig.spec.json.ejs +2 -3
- package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +0 -3
- package/generators/client/templates/common/package.json +4 -4
- package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +1 -1
- package/generators/client/templates/react/jest.conf.js.ejs +2 -2
- package/generators/client/templates/react/package.json +24 -24
- package/generators/client/templates/react/package.json.ejs +3 -7
- package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +0 -6
- package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +4 -5
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.spec.ts.ejs +7 -7
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.ts.ejs +6 -6
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/index.tsx.ejs +2 -2
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +17 -8
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.ts.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +176 -19
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +46 -13
- package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +1 -1
- package/generators/client/templates/vue/package.json +17 -17
- package/generators/client/templates/vue/package.json.ejs +3 -7
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +2 -1
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +2 -2
- package/generators/client/templates/vue/src/main/webapp/app/router/admin.ts.ejs +2 -2
- package/generators/client/templates/vue/src/test/javascript/e2e/modules/administration/administration.spec.ts.ejs +1 -1
- package/generators/client/templates/vue/src/test/javascript/e2e/page-objects/administration-page.ts.ejs +1 -1
- package/generators/client/templates/vue/src/test/javascript/e2e/page-objects/navbar-page.ts.ejs +2 -2
- package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +5 -6
- package/generators/client/templates/vue/src/test/javascript/spec/app/account/account.service.spec.ts.ejs +4 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/alert/alert.service.spec.ts.ejs +106 -3
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +12 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/formatter.spec.ts.ejs +6 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/sort/sorts.spec.ts.ejs +10 -0
- package/generators/client/templates/vue/webpack/webpack.common.js.ejs +1 -1
- package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +2 -2
- package/generators/common/files.js +5 -4
- package/generators/common/templates/.husky/pre-commit.ejs +0 -0
- package/generators/common/templates/package.json +1 -1
- package/generators/common/templates/sonar-project.properties.ejs +19 -11
- package/generators/cypress/index.js +1 -1
- package/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +3 -3
- package/generators/docker-compose/templates/docker-compose.yml.ejs +1 -1
- package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +32 -14
- package/generators/entity/index.js +4 -3
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +18 -6
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +23 -19
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +3 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/common/delete_template.ejs +7 -3
- package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +15 -5
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_persistable.ejs +8 -1
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +5 -0
- package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +4 -4
- package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +6 -4
- package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +3 -26
- package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +1 -0
- package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +1 -1
- package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +33 -28
- package/generators/generate-blueprint/constants.mjs +46 -6
- package/generators/generate-blueprint/esm.mjs +0 -0
- package/generators/generate-blueprint/files.mjs +7 -5
- package/generators/generate-blueprint/generator.mjs +73 -19
- package/generators/generate-blueprint/templates/cli/cli.mjs.ejs +0 -0
- package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +1 -1
- package/generators/generate-blueprint/templates/generators/generator/templates/template-file.ejs +0 -0
- package/generators/generator-base-blueprint.js +23 -1
- package/generators/generator-base-entities.cjs +5 -1
- package/generators/generator-base.js +82 -15
- package/generators/generator-constants.js +17 -23
- package/generators/init/templates/.husky/pre-commit +0 -0
- package/generators/kubernetes/templates/deployment.yml.ejs +1 -1
- package/generators/kubernetes/templates/ingress.yml.ejs +1 -1
- package/generators/kubernetes/templates/istio/gateway.yml.ejs +1 -1
- package/generators/kubernetes/templates/kubectl-apply.sh.ejs +0 -0
- package/generators/kubernetes/templates/kustomize/kustomization.yml.ejs +1 -1
- package/generators/kubernetes/templates/service.yml.ejs +1 -1
- package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +1 -1
- package/generators/kubernetes-knative/templates/kubectl-apply.sh.ejs +0 -0
- package/generators/kubernetes-knative/templates/service.yml.ejs +3 -3
- package/generators/languages/templates/src/main/webapp/i18n/al/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ar-ly/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/bg/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/bn/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/by/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ca/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/cs/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/da/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/de/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/activate.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/password.json +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/register.json +3 -3
- package/generators/languages/templates/src/main/webapp/i18n/el/tracker.json +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/user-management.json +9 -9
- package/generators/languages/templates/src/main/webapp/i18n/en/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/es/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/et/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/fa/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/fi/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/fr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/gl/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/hi/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/hr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/hu/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/hy/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/in/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/it/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ja/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ko/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/mr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/my/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/nl/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/pa/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/pl/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/pt-br/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/pt-pt/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ro/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ru/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/si/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/sk/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/sr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/sv/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ta/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/te/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/th/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/tr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ua/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/vi/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/zh-cn/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/zh-tw/health.json.ejs +1 -1
- package/generators/maven/templates/mvnw +0 -0
- package/generators/openshift/templates/deployment.yml.ejs +2 -2
- package/generators/server/cleanup-elasticsearch.js +5 -0
- package/generators/server/files.js +17 -8
- package/generators/server/index.js +0 -2
- package/generators/server/templates/build.gradle.ejs +6 -14
- package/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
- package/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -1
- package/generators/server/templates/gradle.properties.ejs +6 -4
- package/generators/server/templates/gradlew +0 -0
- package/generators/server/templates/mvnw +0 -0
- package/generators/server/templates/npmw +0 -0
- package/generators/server/templates/npmw.cmd +31 -29
- package/generators/server/templates/package.json.ejs +2 -2
- package/generators/server/templates/pom.xml.ejs +12 -23
- package/generators/server/templates/sql/common/src/test/java/package/config/MsSqlTestContainer.java.ejs +2 -3
- package/generators/server/templates/src/main/docker/app.yml.ejs +7 -1
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +32 -14
- package/generators/server/templates/src/main/docker/jhipster-control-center.yml.ejs +1 -1
- package/generators/server/templates/src/main/docker/prometheus/prometheus.yml.ejs +1 -1
- package/generators/server/templates/src/main/java/package/Application.java.ejs +11 -4
- package/generators/server/templates/src/main/java/package/config/CRLFLogConverter.java.ejs +57 -0
- package/generators/server/templates/src/main/java/package/config/EurekaWorkaroundConfiguration.java.ejs +49 -0
- package/generators/server/templates/src/main/java/package/config/LoggingConfiguration.java.ejs +4 -4
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +17 -18
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +13 -5
- package/generators/server/templates/src/main/java/package/domain/AbstractAuditingEntity.java.ejs +5 -6
- package/generators/server/templates/src/main/java/package/domain/User.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +13 -6
- package/generators/server/templates/src/main/java/package/service/dto/AdminUserDTO.java.ejs +3 -1
- package/generators/server/templates/src/main/java/package/service/dto/PasswordChangeDTO.java.ejs +5 -1
- package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +3 -1
- package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +15 -42
- package/generators/server/templates/src/main/java/package/web/rest/errors/BadRequestAlertException.java.ejs +1 -0
- package/generators/server/templates/src/main/java/package/web/rest/errors/EmailAlreadyUsedException.java.ejs +1 -0
- package/generators/server/templates/src/main/java/package/web/rest/errors/InvalidPasswordException.java.ejs +1 -0
- package/generators/server/templates/src/main/java/package/web/rest/errors/LoginAlreadyUsedException.java.ejs +1 -0
- package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
- package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +3 -3
- package/generators/server/templates/src/main/resources/config/application.yml.ejs +4 -2
- package/generators/server/templates/src/main/resources/config/liquibase/master.xml.ejs +3 -8
- package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +5 -0
- package/generators/server/templates/src/test/java/package/config/{ElasticsearchReactiveTestConfiguration.java.ejs → ElasticsearchTestConfiguration.java.ejs} +3 -3
- package/generators/server/templates/src/test/java/package/config/ElasticsearchTestContainer.java.ejs +1 -0
- package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +3 -0
- package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +2 -2
- package/generators/sql-constants.js +5 -2
- package/generators/utils.js +43 -3
- package/generators/workspaces/index.js +2 -1
- package/jdl/exporters/jdl-exporter.js +6 -1
- package/jdl/jhipster/application-options.js +2 -1
- package/jdl/jhipster/binary-options.js +2 -2
- package/jdl/jhipster/default-application-options.js +11 -8
- package/jdl/jhipster/entity-options.js +1 -0
- package/jdl/jhipster/search-engine-types.js +1 -0
- package/lib/constants/priorities.cjs +16 -0
- package/lib/constants/priorities.mjs +1 -0
- package/lib/index.js +2 -0
- package/lib/support/base.cjs +2 -1
- package/package.json +7 -6
- package/utils/blueprint.js +10 -0
- package/utils/field.js +9 -9
- package/generators/client/templates/react/src/main/webapp/app/config/translation-middleware.ts.ejs +0 -58
- package/generators/server/templates/.npmrc.ejs +0 -1
|
@@ -1,40 +1,242 @@
|
|
|
1
1
|
import { convertToParamMap, ParamMap, Params } from '@angular/router';
|
|
2
|
-
import { FilterOptions,
|
|
2
|
+
import { FilterOptions, FilterOption } from './filter.model';
|
|
3
3
|
|
|
4
4
|
describe('FilterModel Tests', () => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
'filter[hello.in]': 'world',
|
|
8
|
-
'filter[invalid': 'invalid',
|
|
9
|
-
filter_invalid2: 'invalid',
|
|
10
|
-
};
|
|
5
|
+
describe('FilterOption', () => {
|
|
6
|
+
let filterOption: FilterOption;
|
|
11
7
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
filter_invalid2: 'invalid',
|
|
16
|
-
};
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
filterOption = new FilterOption('foo', ['bar', 'bar2']);
|
|
10
|
+
});
|
|
17
11
|
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
it('nameAsQueryParam returns query key', () => {
|
|
13
|
+
expect(filterOption.nameAsQueryParam()).toEqual('filter[foo]');
|
|
14
|
+
});
|
|
20
15
|
|
|
21
|
-
|
|
16
|
+
describe('addValue', () => {
|
|
17
|
+
it('adds multiples unique values and returns true', () => {
|
|
18
|
+
const ret = filterOption.addValue('bar2', 'bar3', 'bar4');
|
|
19
|
+
expect(filterOption.values).toMatchObject(['bar', 'bar2', 'bar3', 'bar4']);
|
|
20
|
+
expect(ret).toBe(true);
|
|
21
|
+
});
|
|
22
|
+
it("doesn't adds duplicated values and return false", () => {
|
|
23
|
+
const ret = filterOption.addValue('bar', 'bar2');
|
|
24
|
+
expect(filterOption.values).toMatchObject(['bar', 'bar2']);
|
|
25
|
+
expect(ret).toBe(false);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
22
28
|
|
|
23
|
-
|
|
29
|
+
describe('removeValue', () => {
|
|
30
|
+
it('removes the exiting value and return true', () => {
|
|
31
|
+
const ret = filterOption.removeValue('bar');
|
|
32
|
+
expect(filterOption.values).toMatchObject(['bar2']);
|
|
33
|
+
expect(ret).toBe(true);
|
|
34
|
+
});
|
|
35
|
+
it("doesn't removes the value and return false", () => {
|
|
36
|
+
const ret = filterOption.removeValue('foo');
|
|
37
|
+
expect(filterOption.values).toMatchObject(['bar', 'bar2']);
|
|
38
|
+
expect(ret).toBe(false);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
24
41
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
42
|
+
describe('equals', () => {
|
|
43
|
+
it('returns true to matching options', () => {
|
|
44
|
+
const otherFilterOption = new FilterOption(filterOption.name, filterOption.values.concat());
|
|
45
|
+
expect(filterOption.equals(otherFilterOption)).toBe(true);
|
|
46
|
+
expect(otherFilterOption.equals(filterOption)).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
it('returns false to different name', () => {
|
|
49
|
+
const otherFilterOption = new FilterOption('bar', filterOption.values.concat());
|
|
50
|
+
expect(filterOption.equals(otherFilterOption)).toBe(false);
|
|
51
|
+
expect(otherFilterOption.equals(filterOption)).toBe(false);
|
|
52
|
+
});
|
|
53
|
+
it('returns false to different values', () => {
|
|
54
|
+
const otherFilterOption = new FilterOption('bar', []);
|
|
55
|
+
expect(filterOption.equals(otherFilterOption)).toBe(false);
|
|
56
|
+
expect(otherFilterOption.equals(filterOption)).toBe(false);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
29
59
|
});
|
|
30
60
|
|
|
31
|
-
|
|
32
|
-
|
|
61
|
+
describe('FilterOptions', () => {
|
|
62
|
+
describe('hasAnyFilterSet', () => {
|
|
63
|
+
it('with empty options returns false', () => {
|
|
64
|
+
const filters = new FilterOptions();
|
|
65
|
+
expect(filters.hasAnyFilterSet()).toBe(false);
|
|
66
|
+
});
|
|
67
|
+
it('with options and empty values returns false', () => {
|
|
68
|
+
const filters = new FilterOptions([new FilterOption('foo'), new FilterOption('bar')]);
|
|
69
|
+
expect(filters.hasAnyFilterSet()).toBe(false);
|
|
70
|
+
});
|
|
71
|
+
it('with option and value returns true', () => {
|
|
72
|
+
const filters = new FilterOptions([new FilterOption('foo', ['bar'])]);
|
|
73
|
+
expect(filters.hasAnyFilterSet()).toBe(true);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
describe('clear', () => {
|
|
78
|
+
it("removes empty filters and dosn't emit next element", () => {
|
|
79
|
+
const filters = new FilterOptions([new FilterOption('foo'), new FilterOption('bar')]);
|
|
80
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
81
|
+
|
|
82
|
+
filters.clear();
|
|
83
|
+
|
|
84
|
+
expect(filters.filterChanges.next).not.toBeCalled();
|
|
85
|
+
expect(filters.filterOptions).toMatchObject([]);
|
|
86
|
+
});
|
|
87
|
+
it('removes empty filters and emits next element', () => {
|
|
88
|
+
const filters = new FilterOptions([new FilterOption('foo', ['existingFoo1']), new FilterOption('bar')]);
|
|
89
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
90
|
+
|
|
91
|
+
filters.clear();
|
|
92
|
+
|
|
93
|
+
expect(filters.filterChanges.next).toHaveBeenCalledTimes(1);
|
|
94
|
+
expect(filters.filterOptions).toMatchObject([]);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
describe('addFilter', () => {
|
|
99
|
+
it('adds a non existing FilterOption, returns true and emit next element', () => {
|
|
100
|
+
const filters = new FilterOptions([new FilterOption('foo', ['existingFoo1', 'existingFoo2']), new FilterOption('bar')]);
|
|
101
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
102
|
+
|
|
103
|
+
const result = filters.addFilter('addedFilter', 'addedValue');
|
|
104
|
+
|
|
105
|
+
expect(result).toBe(true);
|
|
106
|
+
expect(filters.filterChanges.next).toHaveBeenCalledTimes(1);
|
|
107
|
+
expect(filters.filterOptions).toMatchObject([
|
|
108
|
+
{ name: 'foo', values: ['existingFoo1', 'existingFoo2'] },
|
|
109
|
+
{ name: 'addedFilter', values: ['addedValue'] },
|
|
110
|
+
]);
|
|
111
|
+
});
|
|
112
|
+
it('adds a non existing value to FilterOption, returns true and emit next element', () => {
|
|
113
|
+
const filters = new FilterOptions([new FilterOption('foo', ['existingFoo1', 'existingFoo2']), new FilterOption('bar')]);
|
|
114
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
115
|
+
|
|
116
|
+
const result = filters.addFilter('foo', 'addedValue1', 'addedValue2');
|
|
117
|
+
|
|
118
|
+
expect(result).toBe(true);
|
|
119
|
+
expect(filters.filterChanges.next).toHaveBeenCalledTimes(1);
|
|
120
|
+
expect(filters.filterOptions).toMatchObject([
|
|
121
|
+
{ name: 'foo', values: ['existingFoo1', 'existingFoo2', 'addedValue1', 'addedValue2'] },
|
|
122
|
+
]);
|
|
123
|
+
});
|
|
124
|
+
it("doesn't add FilterOption values already added, returns false and doesn't emit next element", () => {
|
|
125
|
+
const filters = new FilterOptions([new FilterOption('foo', ['existingFoo1', 'existingFoo2']), new FilterOption('bar')]);
|
|
126
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
127
|
+
|
|
128
|
+
const result = filters.addFilter('foo', 'existingFoo1', 'existingFoo2');
|
|
129
|
+
|
|
130
|
+
expect(result).toBe(false);
|
|
131
|
+
expect(filters.filterChanges.next).not.toBeCalled();
|
|
132
|
+
expect(filters.filterOptions).toMatchObject([{ name: 'foo', values: ['existingFoo1', 'existingFoo2'] }]);
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
describe('removeFilter', () => {
|
|
137
|
+
it('removes an existing FilterOptions and returns true', () => {
|
|
138
|
+
const filters = new FilterOptions([new FilterOption('foo', ['existingFoo1', 'existingFoo2']), new FilterOption('bar')]);
|
|
139
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
140
|
+
|
|
141
|
+
const result = filters.removeFilter('foo', 'existingFoo1');
|
|
142
|
+
|
|
143
|
+
expect(result).toBe(true);
|
|
144
|
+
expect(filters.filterChanges.next).toHaveBeenCalledTimes(1);
|
|
145
|
+
expect(filters.filterOptions).toMatchObject([{ name: 'foo', values: ['existingFoo2'] }]);
|
|
146
|
+
});
|
|
147
|
+
it("doesn't remove a non existing FilterOptions values returns false", () => {
|
|
148
|
+
const filters = new FilterOptions([new FilterOption('foo', ['existingFoo1', 'existingFoo2']), new FilterOption('bar')]);
|
|
149
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
150
|
+
|
|
151
|
+
const result = filters.removeFilter('foo', 'nonExisting1');
|
|
152
|
+
|
|
153
|
+
expect(result).toBe(false);
|
|
154
|
+
expect(filters.filterChanges.next).not.toBeCalled();
|
|
155
|
+
expect(filters.filterOptions).toMatchObject([{ name: 'foo', values: ['existingFoo1', 'existingFoo2'] }]);
|
|
156
|
+
});
|
|
157
|
+
it("doesn't remove a non existing FilterOptions returns false", () => {
|
|
158
|
+
const filters = new FilterOptions([new FilterOption('foo', ['existingFoo1', 'existingFoo2']), new FilterOption('bar')]);
|
|
159
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
160
|
+
|
|
161
|
+
const result = filters.removeFilter('nonExisting', 'nonExisting1');
|
|
162
|
+
|
|
163
|
+
expect(result).toBe(false);
|
|
164
|
+
expect(filters.filterChanges.next).not.toBeCalled();
|
|
165
|
+
expect(filters.filterOptions).toMatchObject([{ name: 'foo', values: ['existingFoo1', 'existingFoo2'] }]);
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
describe('initializeFromParams', () => {
|
|
170
|
+
const oneValidParam: Params = {
|
|
171
|
+
test: 'blub',
|
|
172
|
+
'filter[hello.in]': 'world',
|
|
173
|
+
'filter[invalid': 'invalid',
|
|
174
|
+
filter_invalid2: 'invalid',
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
const noValidParam: Params = {
|
|
178
|
+
test: 'blub',
|
|
179
|
+
'filter[invalid': 'invalid',
|
|
180
|
+
filter_invalid2: 'invalid',
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
const paramWithTwoValues: Params = {
|
|
184
|
+
'filter[hello.in]': ['world', 'world2'],
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
const paramWithTwoKeys: Params = {
|
|
188
|
+
'filter[hello.in]': ['world', 'world2'],
|
|
189
|
+
'filter[hello.notIn]': ['world3', 'world4'],
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
it('should parse from Params if there are any and not emit next element', () => {
|
|
193
|
+
const filters: FilterOptions = new FilterOptions([new FilterOption('foo', ['bar'])]);
|
|
194
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
195
|
+
const paramMap: ParamMap = convertToParamMap(oneValidParam);
|
|
196
|
+
|
|
197
|
+
filters.initializeFromParams(paramMap);
|
|
198
|
+
|
|
199
|
+
expect(filters.filterChanges.next).not.toHaveBeenCalled();
|
|
200
|
+
expect(filters.filterOptions).toMatchObject([{ name: 'hello.in', values: ['world'] }]);
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
it('should parse from Params and have none if there are none', () => {
|
|
204
|
+
const filters: FilterOptions = new FilterOptions();
|
|
205
|
+
const paramMap: ParamMap = convertToParamMap(noValidParam);
|
|
206
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
207
|
+
|
|
208
|
+
filters.initializeFromParams(paramMap);
|
|
209
|
+
|
|
210
|
+
expect(filters.filterChanges.next).not.toHaveBeenCalled();
|
|
211
|
+
expect(filters.filterOptions).toMatchObject([]);
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
it('should parse from Params and have a parameter with 2 values and one aditional value', () => {
|
|
215
|
+
const filters: FilterOptions = new FilterOptions([new FilterOption('hello.in', ['world'])]);
|
|
216
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
217
|
+
|
|
218
|
+
const paramMap: ParamMap = convertToParamMap(paramWithTwoValues);
|
|
219
|
+
|
|
220
|
+
filters.initializeFromParams(paramMap);
|
|
221
|
+
|
|
222
|
+
expect(filters.filterChanges.next).not.toHaveBeenCalled();
|
|
223
|
+
expect(filters.filterOptions).toMatchObject([{ name: 'hello.in', values: ['world', 'world2'] }]);
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
it('should parse from Params and have a parameter with 2 keys', () => {
|
|
227
|
+
const filters: FilterOptions = new FilterOptions();
|
|
228
|
+
jest.spyOn(filters.filterChanges, 'next');
|
|
33
229
|
|
|
34
|
-
|
|
230
|
+
const paramMap: ParamMap = convertToParamMap(paramWithTwoKeys);
|
|
35
231
|
|
|
36
|
-
|
|
232
|
+
filters.initializeFromParams(paramMap);
|
|
37
233
|
|
|
38
|
-
|
|
234
|
+
expect(filters.filterChanges.next).not.toHaveBeenCalled();
|
|
235
|
+
expect(filters.filterOptions).toMatchObject([
|
|
236
|
+
{ name: 'hello.in', values: ['world', 'world2'] },
|
|
237
|
+
{ name: 'hello.notIn', values: ['world3', 'world4'] },
|
|
238
|
+
]);
|
|
239
|
+
});
|
|
240
|
+
});
|
|
39
241
|
});
|
|
40
242
|
});
|
package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.ts.ejs
CHANGED
|
@@ -1,80 +1,97 @@
|
|
|
1
1
|
import { ParamMap } from '@angular/router';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
2
3
|
|
|
3
4
|
export interface IFilterOptions {
|
|
4
|
-
|
|
5
|
-
filterOptions: IFilterOption[];
|
|
5
|
+
readonly filterChanges: Subject<FilterOption[]>;
|
|
6
|
+
get filterOptions(): IFilterOption[];
|
|
6
7
|
hasAnyFilterSet(): boolean;
|
|
7
|
-
clear():
|
|
8
|
-
removeByName(name: string): void;
|
|
8
|
+
clear(): boolean;
|
|
9
9
|
initializeFromParams(params: ParamMap): boolean;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
addFilter(name: string, ...values: string[]): boolean;
|
|
11
|
+
removeFilter(name: string, value: string): boolean;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
export interface IFilterOption {
|
|
15
15
|
name: string;
|
|
16
|
-
|
|
17
|
-
isSet(): boolean;
|
|
16
|
+
values: string[];
|
|
18
17
|
nameAsQueryParam(): string;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
export interface IFilterableComponent {
|
|
22
|
-
clearFilter(filterName: string): void;
|
|
23
|
-
clearAllFilters(): void;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
20
|
export class FilterOption implements IFilterOption {
|
|
27
|
-
constructor(public name: string, public
|
|
21
|
+
constructor(public name: string, public values: string[] = []) {
|
|
22
|
+
this.values = [...new Set(values)];
|
|
23
|
+
}
|
|
28
24
|
|
|
29
25
|
nameAsQueryParam(): string {
|
|
30
26
|
return 'filter[' + this.name + ']';
|
|
31
27
|
}
|
|
32
28
|
|
|
33
29
|
isSet(): boolean {
|
|
34
|
-
return this.
|
|
30
|
+
return this.values.length > 0;
|
|
35
31
|
}
|
|
36
|
-
}
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
addValue(...values: string[]): boolean {
|
|
34
|
+
const missingValues = values.filter(value => value && !this.values.includes(value));
|
|
35
|
+
if (missingValues.length > 0) {
|
|
36
|
+
this.values.push(...missingValues);
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
43
40
|
}
|
|
44
41
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
removeValue(value: string): boolean {
|
|
43
|
+
const indexOf = this.values.indexOf(value);
|
|
44
|
+
if (indexOf === -1) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
this.values.splice(indexOf, 1);
|
|
49
|
+
return true;
|
|
51
50
|
}
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
this.
|
|
52
|
+
clone(): FilterOption {
|
|
53
|
+
return new FilterOption(this.name, this.values.concat());
|
|
55
54
|
}
|
|
56
55
|
|
|
57
|
-
equals(other:
|
|
56
|
+
equals(other: IFilterOption): boolean {
|
|
58
57
|
return (
|
|
59
|
-
this.
|
|
60
|
-
|
|
58
|
+
this.name === other.name &&
|
|
59
|
+
this.values.length === other.values.length &&
|
|
60
|
+
this.values.every(thisValue => other.values.includes(thisValue)) &&
|
|
61
|
+
other.values.every(otherValue => this.values.includes(otherValue))
|
|
61
62
|
);
|
|
62
63
|
}
|
|
64
|
+
}
|
|
63
65
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
export class FilterOptions implements IFilterOptions {
|
|
67
|
+
readonly filterChanges: Subject<FilterOption[]> = new Subject();
|
|
68
|
+
private _filterOptions: FilterOption[];
|
|
66
69
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
constructor(filterOptions: FilterOption[] = []) {
|
|
71
|
+
this._filterOptions = filterOptions;
|
|
72
|
+
}
|
|
70
73
|
|
|
71
|
-
|
|
74
|
+
get filterOptions(): FilterOption[] {
|
|
75
|
+
return this._filterOptions.filter(option => option.isSet());
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
hasAnyFilterSet(): boolean {
|
|
79
|
+
return this._filterOptions.some(e => e.isSet());
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
clear(): boolean {
|
|
83
|
+
const hasFields = this.hasAnyFilterSet();
|
|
84
|
+
this._filterOptions = [];
|
|
85
|
+
if (hasFields) {
|
|
86
|
+
this.changed();
|
|
87
|
+
}
|
|
88
|
+
return hasFields;
|
|
72
89
|
}
|
|
73
90
|
|
|
74
91
|
initializeFromParams(params: ParamMap): boolean {
|
|
75
|
-
const oldFilters:
|
|
92
|
+
const oldFilters: FilterOptions = this.clone();
|
|
76
93
|
|
|
77
|
-
this.
|
|
94
|
+
this._filterOptions = [];
|
|
78
95
|
|
|
79
96
|
const filterRegex = /filter\[(.+)\]/;
|
|
80
97
|
params.keys
|
|
@@ -82,14 +99,58 @@ export class FilterOptions implements IFilterOptions {
|
|
|
82
99
|
.forEach(matchingParam => {
|
|
83
100
|
const matches = matchingParam.match(filterRegex);
|
|
84
101
|
if (matches && matches.length > 1) {
|
|
85
|
-
this.
|
|
102
|
+
this.getFilterOptionByName(matches[1], true).addValue(...params.getAll(matchingParam));
|
|
86
103
|
}
|
|
87
104
|
});
|
|
88
105
|
|
|
89
|
-
|
|
106
|
+
if (oldFilters.equals(this)) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
addFilter(name: string, ...values: string[]): boolean {
|
|
113
|
+
if (this.getFilterOptionByName(name, true).addValue(...values)) {
|
|
114
|
+
this.changed();
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
90
118
|
}
|
|
91
119
|
|
|
92
|
-
|
|
93
|
-
|
|
120
|
+
removeFilter(name: string, value: string): boolean {
|
|
121
|
+
if (this.getFilterOptionByName(name)?.removeValue(value)) {
|
|
122
|
+
this.changed();
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
protected changed(): void {
|
|
129
|
+
this.filterChanges.next(this.filterOptions.map(option => option.clone()));
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
protected equals(other: FilterOptions): boolean {
|
|
133
|
+
const thisFilters = this.filterOptions;
|
|
134
|
+
const otherFilters = other.filterOptions;
|
|
135
|
+
if (thisFilters.length !== otherFilters.length) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
return thisFilters.every(option => other.getFilterOptionByName(option.name)?.equals(option));
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
protected clone(): FilterOptions {
|
|
142
|
+
return new FilterOptions(this.filterOptions.map(option => new FilterOption(option.name, option.values.concat())));
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
protected getFilterOptionByName(name: string, add: true): FilterOption;
|
|
146
|
+
protected getFilterOptionByName(name: string, add: false): FilterOption | null;
|
|
147
|
+
protected getFilterOptionByName(name: string): FilterOption | null;
|
|
148
|
+
protected getFilterOptionByName(name: string, add = false): FilterOption | null {
|
|
149
|
+
const addOption = (option: FilterOption): FilterOption => {
|
|
150
|
+
this._filterOptions.push(option);
|
|
151
|
+
return option;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
return this._filterOptions.find(thisOption => thisOption.name === name) ?? (add ? addOption(new FilterOption(name)) : null);
|
|
94
155
|
}
|
|
95
156
|
}
|
|
@@ -182,6 +182,14 @@ Custom alerts for notification
|
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
+
/* ==========================================================================
|
|
186
|
+
entity list page css
|
|
187
|
+
========================================================================== */
|
|
188
|
+
|
|
189
|
+
.table-entities thead th .d-flex > * {
|
|
190
|
+
margin: auto 0;
|
|
191
|
+
}
|
|
192
|
+
|
|
185
193
|
/* ==========================================================================
|
|
186
194
|
entity detail page css
|
|
187
195
|
========================================================================== */
|
|
@@ -18,10 +18,9 @@
|
|
|
18
18
|
-%>
|
|
19
19
|
{
|
|
20
20
|
"extends": "./tsconfig.json",
|
|
21
|
+
"include": ["<%= MAIN_SRC_DIR %>**/*.ts"],
|
|
21
22
|
"compilerOptions": {
|
|
22
23
|
"outDir": "<%= BUILD_DIR %>out-tsc/spec",
|
|
23
24
|
"types": ["jest", "node"]
|
|
24
|
-
}
|
|
25
|
-
"files": ["<%= MAIN_SRC_DIR %>polyfills.ts"],
|
|
26
|
-
"include": ["<%= MAIN_SRC_DIR %>**/*.ts"]
|
|
25
|
+
}
|
|
27
26
|
}
|
|
@@ -33,9 +33,6 @@ module.exports = (config, options, targetOptions) => {
|
|
|
33
33
|
<%_ } _%>
|
|
34
34
|
'./entity-navbar-items': 'app/entities/entity-navbar-items.ts',
|
|
35
35
|
'./entity-routing': 'app/entities/entity-routing.module.ts',
|
|
36
|
-
<%_ for (entity of Object.values(this.configOptions.sharedEntities || {}).filter(e => e.microserviceName)) { _%>
|
|
37
|
-
'./<%= entity.entityFileName %>': 'app/entities/<%= entity.entityFolderName %>/<%= entity.entityFileName %>.module.ts',
|
|
38
|
-
<%_ } _%>
|
|
39
36
|
},
|
|
40
37
|
<%_ } _%>
|
|
41
38
|
<%_ if (applicationTypeGateway) { _%>
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"@cypress/code-coverage": "3.10.0",
|
|
4
4
|
"babel-loader": "8.2.5",
|
|
5
5
|
"babel-plugin-istanbul": "6.1.1",
|
|
6
|
-
"cypress": "10.
|
|
6
|
+
"cypress": "10.7.0",
|
|
7
7
|
"cypress-audit": "1.1.0",
|
|
8
8
|
"eslint-plugin-cypress": "2.12.1",
|
|
9
|
-
"lighthouse": "9.6.
|
|
9
|
+
"lighthouse": "9.6.6",
|
|
10
10
|
"nyc": "15.1.0",
|
|
11
|
-
"swagger-ui-dist": "4.
|
|
11
|
+
"swagger-ui-dist": "4.14.0"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"dayjs": "1.11.
|
|
14
|
+
"dayjs": "1.11.5"
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
|
|
75
75
|
const baseUrl = '/v3/api-docs';
|
|
76
76
|
let urls;
|
|
77
|
-
<%_ if (!applicationTypeMonolith &&
|
|
77
|
+
<%_ if (!applicationTypeMonolith && serviceDiscoveryAny) { _%>
|
|
78
78
|
|
|
79
79
|
try {
|
|
80
80
|
const response = await axios.get('/management/health/discoveryComposite', axiosConfig);
|
|
@@ -20,9 +20,9 @@ module.exports = {
|
|
|
20
20
|
}),
|
|
21
21
|
reporters: [
|
|
22
22
|
'default',
|
|
23
|
-
[
|
|
23
|
+
['jest-junit', { outputDirectory: './<%= BUILD_DIR %>test-results/', outputName: 'TESTS-results-jest.xml' }],
|
|
24
|
+
['jest-sonar', { outputDirectory: './<%= BUILD_DIR %>test-results/jest', outputName: 'TESTS-results-sonar.xml' }],
|
|
24
25
|
],
|
|
25
|
-
testResultsProcessor: 'jest-sonar-reporter',
|
|
26
26
|
testPathIgnorePatterns: [
|
|
27
27
|
'<rootDir>/node_modules/'
|
|
28
28
|
],
|