Example #1
0
        it('should empty the credentials upon cancel', () => {
            // GIVEN
            const credentials = {
                username: '******',
                password: '******',
                rememberMe: true
            };

            const expected = {
                username: null,
                password: null,
                rememberMe: true
            };

            comp.credentials = credentials;

            // WHEN
            comp.cancel();

            // THEN
            expect(comp.authenticationError).toEqual(false);
            expect(comp.credentials).toEqual(expected);
            expect(mockActiveModal.dismissSpy).toHaveBeenCalledWith('cancel');
        });
    it('should empty the credentials upon cancel', () => {
      // GIVEN

      comp.loginForm.patchValue({
        username: '******',
        password: '******'
      });

      const expected = {
        username: '',
        password: '',
        rememberMe: true
      };

      // WHEN
      comp.cancel();

      // THEN
      expect(comp.authenticationError).toEqual(false);
      expect(comp.loginForm.get('username').value).toEqual(expected.username);
      expect(comp.loginForm.get('password').value).toEqual(expected.password);
      expect(comp.loginForm.get('rememberMe').value).toEqual(expected.rememberMe);
      expect(mockActiveModal.dismissSpy).toHaveBeenCalledWith('cancel');
    });
    describe('LoginComponent', () => {
        let comp: JhiLoginModalComponent;
        let fixture: ComponentFixture<JhiLoginModalComponent>;
        let mockLoginService: any;
        let mockStateStorageService: any;
        let mockRouter: any;
        let mockEventManager: any;
        let mockActiveModal: any;

        beforeEach(async(() => {
            TestBed.configureTestingModule({
                imports: [TrebolTestModule],
                declarations: [JhiLoginModalComponent],
                providers: [
                    {
                        provide: LoginService,
                        useClass: MockLoginService
                    },
                    {
                        provide: StateStorageService,
                        useClass: MockStateStorageService
                    }
                ]
            })
                .overrideTemplate(JhiLoginModalComponent, '')
                .compileComponents();
        }));

        beforeEach(() => {
            fixture = TestBed.createComponent(JhiLoginModalComponent);
            comp = fixture.componentInstance;
            mockLoginService = fixture.debugElement.injector.get(LoginService);
            mockStateStorageService = fixture.debugElement.injector.get(StateStorageService);
            mockRouter = fixture.debugElement.injector.get(Router);
            mockEventManager = fixture.debugElement.injector.get(JhiEventManager);
            mockActiveModal = fixture.debugElement.injector.get(NgbActiveModal);
        });

        it('should authenticate the user upon login when previous state was set', inject(
            [],
            fakeAsync(() => {
                // GIVEN
                const credentials = {
                    username: '******',
                    password: '******',
                    rememberMe: true
                };
                comp.username = '******';
                comp.password = '******';
                comp.rememberMe = true;
                comp.credentials = credentials;
                mockLoginService.setResponse({});
                mockStateStorageService.setResponse({ redirect: 'dummy' });

                // WHEN/
                comp.login();
                tick(); // simulate async

                // THEN
                expect(comp.authenticationError).toEqual(false);
                expect(mockActiveModal.dismissSpy).toHaveBeenCalledWith('login success');
                expect(mockEventManager.broadcastSpy).toHaveBeenCalledTimes(1);
                expect(mockLoginService.loginSpy).toHaveBeenCalledWith(credentials);
                expect(mockStateStorageService.getUrlSpy).toHaveBeenCalledTimes(1);
                expect(mockStateStorageService.storeUrlSpy).toHaveBeenCalledWith(null);
                expect(mockRouter.navigateSpy).toHaveBeenCalledWith([{ redirect: 'dummy' }]);
            })
        ));

        it('should authenticate the user upon login when previous state was not set', inject(
            [],
            fakeAsync(() => {
                // GIVEN
                const credentials = {
                    username: '******',
                    password: '******',
                    rememberMe: true
                };
                comp.username = '******';
                comp.password = '******';
                comp.rememberMe = true;
                comp.credentials = credentials;
                mockLoginService.setResponse({});
                mockStateStorageService.setResponse(null);

                // WHEN
                comp.login();
                tick(); // simulate async

                // THEN
                expect(comp.authenticationError).toEqual(false);
                expect(mockActiveModal.dismissSpy).toHaveBeenCalledWith('login success');
                expect(mockEventManager.broadcastSpy).toHaveBeenCalledTimes(1);
                expect(mockLoginService.loginSpy).toHaveBeenCalledWith(credentials);
                expect(mockStateStorageService.getUrlSpy).toHaveBeenCalledTimes(1);
                expect(mockStateStorageService.storeUrlSpy).not.toHaveBeenCalled();
                expect(mockRouter.navigateSpy).not.toHaveBeenCalled();
            })
        ));

        it('should empty the credentials upon cancel', () => {
            // GIVEN
            const credentials = {
                username: '******',
                password: '******',
                rememberMe: true
            };

            const expected = {
                username: null,
                password: null,
                rememberMe: true
            };

            comp.credentials = credentials;

            // WHEN
            comp.cancel();

            // THEN
            expect(comp.authenticationError).toEqual(false);
            expect(comp.credentials).toEqual(expected);
            expect(mockActiveModal.dismissSpy).toHaveBeenCalledWith('cancel');
        });

        it('should redirect user when register', () => {
            // WHEN
            comp.register();

            // THEN
            expect(mockActiveModal.dismissSpy).toHaveBeenCalledWith('to state register');
            expect(mockRouter.navigateSpy).toHaveBeenCalledWith(['/register']);
        });

        it('should redirect user when request password', () => {
            // WHEN
            comp.requestResetPassword();

            // THEN
            expect(mockActiveModal.dismissSpy).toHaveBeenCalledWith('to state requestReset');
            expect(mockRouter.navigateSpy).toHaveBeenCalledWith(['/reset', 'request']);
        });
    });