[ADF-5332] Login basic auth - Ability to override the successRoute from app.config.json (#6651)

* ability to override successRoute from app.config

* Add basic doc

* Reset the appconfig

* Rebase and handle login errors

* Remove the  default route /

* remove space
This commit is contained in:
Maurizio Vitale
2021-02-12 16:03:10 +00:00
committed by GitHub
parent dc0dc5ef01
commit 3c5d5dc02d
6 changed files with 95 additions and 26 deletions

View File

@@ -124,7 +124,44 @@ describe('LoginComponent', () => {
expect(router.navigate).toHaveBeenCalledWith([redirect]);
});
it('should use the input successRoute as redirect if defined', () => {
spyOn(authService, 'isLoggedIn').and.returnValue(true);
spyOn(router, 'navigate');
component.successRoute = 'input-route';
appConfigService.config = {};
component.ngOnInit();
expect(router.navigate).toHaveBeenCalledWith(['input-route']);
});
it('should use the successRoute route from app.config if the input successRoute is NOT defined', () => {
spyOn(authService, 'isLoggedIn').and.returnValue(true);
spyOn(router, 'navigate');
component.successRoute = undefined;
appConfigService.config.successRoute = 'route-app-config';
component.ngOnInit();
expect(router.navigate).toHaveBeenCalledWith(['route-app-config']);
});
it('should use the successRoute route from app.config if both successRoute are defined', () => {
spyOn(authService, 'isLoggedIn').and.returnValue(true);
spyOn(router, 'navigate');
component.successRoute = 'input-route';
appConfigService.config.successRoute = 'route-app-config';
component.ngOnInit();
expect(router.navigate).toHaveBeenCalledWith(['route-app-config']);
});
it('should redirect to previous route state on successful login', () => {
appConfigService.config = {};
appConfigService.config.providers = 'ECM';
spyOn(authService, 'login').and.returnValue(of({ type: 'type', ticket: 'ticket' }));

View File

@@ -150,6 +150,8 @@ export class LoginComponent implements OnInit, OnDestroy {
this.initFormFieldsDefault();
this.initFormFieldsMessages();
this.successRoute = this.appConfig.get<string>('successRoute', this.successRoute);
if (this.authService.isLoggedIn()) {
this.router.navigate([this.successRoute]);
} else {