Merge branch 'master' into dev-upgrade-rc1

This commit is contained in:
Denys Vuika
2016-06-14 05:39:55 +01:00
7 changed files with 69 additions and 33 deletions

View File

@@ -1,7 +1,7 @@
{ {
"name": "ng2-alfresco-core", "name": "ng2-alfresco-core",
"description": "Alfresco Angular 2 Components core", "description": "Alfresco Angular 2 Components core",
"version": "0.1.32", "version": "0.1.33",
"author": "Alfresco Software, Ltd.", "author": "Alfresco Software, Ltd.",
"scripts": { "scripts": {
"typings": "typings install", "typings": "typings install",

View File

@@ -35,8 +35,10 @@ export module AlfrescoApiMock {
if (loginRequest.userId === 'fake-username' && loginRequest.password === 'fake-password') { if (loginRequest.userId === 'fake-username' && loginRequest.password === 'fake-password') {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
resolve({ resolve({
userId: 'fake-username', entry: {
ticket: 'TICKET_blah' userId: 'fake-username',
id: 'fake-post-token'
}
}); });
}); });
} else { } else {

View File

@@ -75,7 +75,7 @@ describe('AlfrescoAuthentication', () => {
service.login('fake-username', 'fake-password') service.login('fake-username', 'fake-password')
.subscribe(() => { .subscribe(() => {
expect(service.isLoggedIn()).toBe(true); expect(service.isLoggedIn()).toBe(true);
expect(service.token).toEqual('fake-post-token'); expect(service.getToken()).toEqual('fake-post-token');
expect(localStorage.getItem('token')).toBeDefined(); expect(localStorage.getItem('token')).toBeDefined();
expect(localStorage.getItem('token')).toEqual('fake-post-token'); expect(localStorage.getItem('token')).toEqual('fake-post-token');
} }
@@ -83,13 +83,12 @@ describe('AlfrescoAuthentication', () => {
}); });
it('should return false and token undefined on log out', () => { it('should return false and token undefined on log out', () => {
service.token = 'fake-token';
localStorage.setItem('token', 'fake-token'); localStorage.setItem('token', 'fake-token');
service.logout() service.logout()
.subscribe(() => { .subscribe(() => {
expect(service.isLoggedIn()).toBe(false); expect(service.isLoggedIn()).toBe(false);
expect(service.token).not.toBeDefined(); expect(service.getToken()).toBe(null);
expect(localStorage.getItem('token')).not.toBeDefined(); expect(localStorage.getItem('token')).toBe(null);
} }
); );
}); });

View File

@@ -591,7 +591,7 @@ export class MyView {
} }
``` ```
![Custom handler 1](docs/assets/custom-doc-handler-1.png) ![Custom handler 1](docs/assets/custom-doc-handler-1.png?raw=true)
Upon execution users will see the following dialog: Upon execution users will see the following dialog:

View File

@@ -1,7 +1,7 @@
{ {
"name": "ng2-alfresco-login", "name": "ng2-alfresco-login",
"description": "Alfresco Angular2 Login Component", "description": "Alfresco Angular2 Login Component",
"version": "0.1.15", "version": "0.1.16",
"author": "Alfresco Software, Ltd.", "author": "Alfresco Software, Ltd.",
"scripts": { "scripts": {
"typings": "typings install", "typings": "typings install",

View File

@@ -27,18 +27,11 @@ export class TranslationMock {
public onLangChange: EventEmitter<LangChangeEvent> = new EventEmitter<LangChangeEvent>(); public onLangChange: EventEmitter<LangChangeEvent> = new EventEmitter<LangChangeEvent>();
setDefaultLang() {
console.log('mock');
}
use() {
console.log('mock');
}
public get(key: string|Array<string>, interpolateParams?: Object): Observable<string|any> { public get(key: string|Array<string>, interpolateParams?: Object): Observable<string|any> {
if (!key) {
throw new Error('Parameter "key" required');
}
return Observable.of(key); return Observable.of(key);
} }
addTranslationFolder() {
}
} }

View File

@@ -73,15 +73,13 @@ describe('AlfrescoLogin', () => {
let element = fixture.nativeElement; let element = fixture.nativeElement;
expect(element.querySelector('h2').innerText).toEqual('login');
expect(element.querySelector('[for="username"]')).toBeDefined(); expect(element.querySelector('[for="username"]')).toBeDefined();
expect(element.querySelector('[for="username"]').innerText).toEqual('username'); expect(element.querySelector('[for="username"]').innerText).toEqual('LOGIN.LABEL.USERNAME');
expect(element.querySelector('#username-error').innerText).toEqual('input-required-message'); expect(element.querySelector('#username-error').innerText).toEqual('LOGIN.MESSAGES.USERNAME-REQUIRED');
expect(element.querySelector('[for="password"]')).toBeDefined(); expect(element.querySelector('[for="password"]')).toBeDefined();
expect(element.querySelector('[for="password"]').innerText).toEqual('password'); expect(element.querySelector('[for="password"]').innerText).toEqual('LOGIN.LABEL.PASSWORD');
expect(element.querySelector('#password-required').innerText).toEqual('input-required-message'); expect(element.querySelector('#password-required').innerText).toEqual('LOGIN.MESSAGES.PASSWORD-REQUIRED');
}); });
})); }));
@@ -122,8 +120,8 @@ describe('AlfrescoLogin', () => {
expect(component.formError).toBeDefined(true); expect(component.formError).toBeDefined(true);
expect(component.formError.username).toBeDefined(true); expect(component.formError.username).toBeDefined(true);
expect(component.formError.username).toEqual('input-min-message'); expect(component.formError.username).toEqual('LOGIN.MESSAGES.USERNAME-MIN');
expect(compiled.querySelector('#username-error').innerText).toEqual('input-min-message'); expect(compiled.querySelector('#username-error').innerText).toEqual('LOGIN.MESSAGES.USERNAME-MIN');
}); });
})); }));
@@ -230,7 +228,7 @@ describe('AlfrescoLogin', () => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.componentInstance.error).toBe(true); expect(fixture.componentInstance.error).toBe(true);
expect(compiled.querySelector('#login-error').innerText).toEqual('login-error-message'); expect(compiled.querySelector('#login-error').innerText).toEqual('LOGIN.MESSAGES.LOGIN-ERROR');
}); });
})); }));
@@ -258,7 +256,7 @@ describe('AlfrescoLogin', () => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.componentInstance.error).toBe(true); expect(fixture.componentInstance.error).toBe(true);
expect(compiled.querySelector('#login-error').innerText).toEqual('login-error-message'); expect(compiled.querySelector('#login-error').innerText).toEqual('LOGIN.MESSAGES.LOGIN-ERROR');
}); });
})); }));
@@ -286,7 +284,7 @@ describe('AlfrescoLogin', () => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.componentInstance.error).toBe(true); expect(fixture.componentInstance.error).toBe(true);
expect(compiled.querySelector('#login-error').innerText).toEqual('login-error-message'); expect(compiled.querySelector('#login-error').innerText).toEqual('LOGIN.MESSAGES.LOGIN-ERROR');
}); });
})); }));
@@ -318,7 +316,7 @@ describe('AlfrescoLogin', () => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.componentInstance.error).toBe(false); expect(fixture.componentInstance.error).toBe(false);
expect(compiled.querySelector('#login-success').innerHTML).toEqual('login-success-message'); expect(compiled.querySelector('#login-success').innerHTML).toEqual('LOGIN.MESSAGES.LOGIN-SUCCESS');
expect(component.onSuccess.emit).toHaveBeenCalledWith({value: 'Login OK'}); expect(component.onSuccess.emit).toHaveBeenCalledWith({value: 'Login OK'});
}); });
})); }));
@@ -351,9 +349,53 @@ describe('AlfrescoLogin', () => {
fixture.detectChanges(); fixture.detectChanges();
expect(fixture.componentInstance.error).toBe(true); expect(fixture.componentInstance.error).toBe(true);
expect(compiled.querySelector('#login-error').innerText).toEqual('login-error-message'); expect(compiled.querySelector('#login-error').innerText).toEqual('LOGIN.MESSAGES.LOGIN-ERROR');
expect(component.onError.emit).toHaveBeenCalledWith({value: 'Login KO'}); expect(component.onError.emit).toHaveBeenCalledWith({value: 'Login KO'});
}); });
})); }));
it('should render the password in clear when the toggleShowPassword is call',
injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(AlfrescoLoginComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let compiled = fixture.debugElement.nativeElement;
fixture.detectChanges();
component.isPasswordShow = false;
component.toggleShowPassword();
fixture.detectChanges();
expect(component.isPasswordShow).toBe(true);
expect(compiled.querySelector('#password').type).toEqual('text');
});
}));
it('should render the hide password when the password is in clear and the toggleShowPassword is call',
injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(AlfrescoLoginComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let compiled = fixture.debugElement.nativeElement;
fixture.detectChanges();
component.isPasswordShow = true;
component.toggleShowPassword();
fixture.detectChanges();
expect(component.isPasswordShow).toBe(false);
expect(compiled.querySelector('#password').type).toEqual('password');
});
}));
}); });