Upgrade Viewer to angular 2.0.0-rc.1

This commit is contained in:
Denys Vuika
2016-06-14 11:31:53 +01:00
parent 2428396ab6
commit a81378bcda
14 changed files with 546 additions and 511 deletions

View File

@@ -15,242 +15,251 @@
* limitations under the License.
*/
import { describe, expect, it, injectAsync, TestComponentBuilder } from 'angular2/testing';
import { ViewerComponent } from './viewer.component';
import { describe, it, expect } from '@angular/core/testing';
describe('ViewerComponent', () => {
describe('View', () => {
it('shadow overlay should be present if overlay is true', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let element = fixture.nativeElement;
let component = fixture.componentInstance;
component.urlFile = 'fake-url-file';
component.overlayMode = true;
fixture.detectChanges();
expect(element.querySelector('#viewer-shadow-transparent')).not.toBeNull();
});
}));
it('Name File should be present', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let element = fixture.nativeElement;
let component = fixture.componentInstance;
component.urlFile = 'http://localhost:9876/fake-url-file.pdf';
component.ngOnChanges().then(() => {
fixture.detectChanges();
expect(element.querySelector('#viewer-name-file').innerHTML).toEqual('fake-url-file.pdf');
});
});
}));
/* tslint:disable:max-line-length */
it('should pick up filename from the fileName property when specified', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let element = fixture.nativeElement;
let component = fixture.componentInstance;
component.urlFile = 'http://localhost:9876/fake-url-file.pdf';
component.fileName = 'My Example.pdf';
component.ngOnChanges().then(() => {
fixture.detectChanges();
expect(element.querySelector('#viewer-name-file').innerHTML).toEqual('My Example.pdf');
});
});
}));
it('Close button should be present', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let element = fixture.nativeElement;
let component = fixture.componentInstance;
component.urlFile = 'fake-url-file';
fixture.detectChanges();
expect(element.querySelector('#viewer-close-button')).not.toBeNull();
});
}));
it('Click on close button should hide the viewer', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let element = fixture.nativeElement;
let component = fixture.componentInstance;
component.urlFile = 'fake-url-file';
fixture.detectChanges();
element.querySelector('#viewer-close-button').click();
fixture.detectChanges();
expect(element.querySelector('#viewer-main-container')).toBeNull();
});
}));
});
describe('Attribute', () => {
it('Url File should be mandatory', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
component.showViewer = true;
expect(() => {
component.ngOnChanges();
}).toThrow();
});
}));
it('showViewer default value should be true', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
expect(component.showViewer).toBe(true);
});
}));
it('if showViewer value is false the viewer should be hide', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let element = fixture.nativeElement;
component.urlFile = 'fake-url-file';
component.showViewer = false;
fixture.detectChanges();
expect(element.querySelector('#viewer-main-container')).toBeNull();
});
}));
});
/* tslint:disable:max-line-length */
describe('Extension Type Test', () => {
it('if extension file is a pdf the pdf viewer should be loaded', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let element = fixture.nativeElement;
component.urlFile = 'fake-url-file.pdf';
component.ngOnChanges().then(() => {
fixture.detectChanges();
expect(element.querySelector('pdf-viewer')).not.toBeNull();
});
});
}));
/* tslint:disable:max-line-length */
it('if extension file is a image the img viewer should be loaded', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let element = fixture.nativeElement;
component.urlFile = 'fake-url-file.png';
component.ngOnChanges().then(() => {
fixture.detectChanges();
expect(element.querySelector('#viewer-image')).not.toBeNull();
});
});
}));
/* tslint:disable:max-line-length */
it('if extension file is a not supported the not supported div should be loaded', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let element = fixture.nativeElement;
component.urlFile = 'fake-url-file.unsupported';
component.ngOnChanges().then(() => {
fixture.detectChanges();
expect(element.querySelector('not-supported-format')).not.toBeNull();
});
});
}));
});
/* tslint:disable:max-line-length */
describe('MimeType handling', () => {
it('should display a PDF file identified by mimetype when the filename has no extension', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let element = fixture.nativeElement;
component.urlFile = 'content';
component.mimeType = 'application/pdf';
component.ngOnChanges().then(() => {
fixture.detectChanges();
expect(element.querySelector('pdf-viewer')).not.toBeNull();
});
});
}));
it('should display a PDF file identified by mimetype when the file extension is wrong', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let element = fixture.nativeElement;
component.urlFile = 'content.bin';
component.mimeType = 'application/pdf';
component.ngOnChanges().then(() => {
fixture.detectChanges();
expect(element.querySelector('pdf-viewer')).not.toBeNull();
});
});
}));
it('should display an image file identified by mimetype when the filename has no extension', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let element = fixture.nativeElement;
component.urlFile = 'content';
component.mimeType = 'image/png';
component.ngOnChanges().then(() => {
fixture.detectChanges();
expect(element.querySelector('#viewer-image')).not.toBeNull();
});
});
}));
it('should display a image file identified by mimetype when the file extension is wrong', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
return tcb
.createAsync(ViewerComponent)
.then((fixture) => {
let component = fixture.componentInstance;
let element = fixture.nativeElement;
component.urlFile = 'content.bin';
component.mimeType = 'image/png';
component.ngOnChanges().then(() => {
fixture.detectChanges();
expect(element.querySelector('#viewer-image')).not.toBeNull();
});
});
}));
it ('should be migrated to angular 2 rc.1', () => {
expect(false).toBe(true);
});
});
/* tslint:disable:max-line-length */
// import { describe, expect, it, injectAsync, TestComponentBuilder } from 'angular2/testing';
// import { ViewerComponent } from './viewer.component';
//
// describe('ViewerComponent', () => {
//
// describe('View', () => {
// it('shadow overlay should be present if overlay is true', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let element = fixture.nativeElement;
// let component = fixture.componentInstance;
// component.urlFile = 'fake-url-file';
// component.overlayMode = true;
//
// fixture.detectChanges();
//
// expect(element.querySelector('#viewer-shadow-transparent')).not.toBeNull();
// });
// }));
//
// it('Name File should be present', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let element = fixture.nativeElement;
// let component = fixture.componentInstance;
// component.urlFile = 'http://localhost:9876/fake-url-file.pdf';
//
// component.ngOnChanges().then(() => {
// fixture.detectChanges();
// expect(element.querySelector('#viewer-name-file').innerHTML).toEqual('fake-url-file.pdf');
// });
// });
// }));
//
// /* tslint:disable:max-line-length */
// it('should pick up filename from the fileName property when specified', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let element = fixture.nativeElement;
// let component = fixture.componentInstance;
// component.urlFile = 'http://localhost:9876/fake-url-file.pdf';
// component.fileName = 'My Example.pdf';
//
// component.ngOnChanges().then(() => {
// fixture.detectChanges();
// expect(element.querySelector('#viewer-name-file').innerHTML).toEqual('My Example.pdf');
// });
// });
// }));
//
// it('Close button should be present', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let element = fixture.nativeElement;
// let component = fixture.componentInstance;
// component.urlFile = 'fake-url-file';
//
// fixture.detectChanges();
//
// expect(element.querySelector('#viewer-close-button')).not.toBeNull();
// });
// }));
//
// it('Click on close button should hide the viewer', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let element = fixture.nativeElement;
// let component = fixture.componentInstance;
// component.urlFile = 'fake-url-file';
//
// fixture.detectChanges();
// element.querySelector('#viewer-close-button').click();
// fixture.detectChanges();
// expect(element.querySelector('#viewer-main-container')).toBeNull();
// });
// }));
// });
//
// describe('Attribute', () => {
// it('Url File should be mandatory', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
// component.showViewer = true;
//
// expect(() => {
// component.ngOnChanges();
// }).toThrow();
// });
// }));
//
// it('showViewer default value should be true', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
//
// expect(component.showViewer).toBe(true);
// });
// }));
//
// it('if showViewer value is false the viewer should be hide', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
// let element = fixture.nativeElement;
// component.urlFile = 'fake-url-file';
// component.showViewer = false;
//
// fixture.detectChanges();
// expect(element.querySelector('#viewer-main-container')).toBeNull();
// });
// }));
// });
//
// /* tslint:disable:max-line-length */
// describe('Extension Type Test', () => {
// it('if extension file is a pdf the pdf viewer should be loaded', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
// let element = fixture.nativeElement;
// component.urlFile = 'fake-url-file.pdf';
//
// component.ngOnChanges().then(() => {
// fixture.detectChanges();
// expect(element.querySelector('pdf-viewer')).not.toBeNull();
// });
// });
// }));
//
// /* tslint:disable:max-line-length */
// it('if extension file is a image the img viewer should be loaded', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
// let element = fixture.nativeElement;
// component.urlFile = 'fake-url-file.png';
//
// component.ngOnChanges().then(() => {
// fixture.detectChanges();
// expect(element.querySelector('#viewer-image')).not.toBeNull();
// });
// });
// }));
//
// /* tslint:disable:max-line-length */
// it('if extension file is a not supported the not supported div should be loaded', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
// let element = fixture.nativeElement;
// component.urlFile = 'fake-url-file.unsupported';
//
// component.ngOnChanges().then(() => {
// fixture.detectChanges();
// expect(element.querySelector('not-supported-format')).not.toBeNull();
// });
// });
// }));
// });
//
// /* tslint:disable:max-line-length */
// describe('MimeType handling', () => {
// it('should display a PDF file identified by mimetype when the filename has no extension', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
// let element = fixture.nativeElement;
// component.urlFile = 'content';
// component.mimeType = 'application/pdf';
//
// component.ngOnChanges().then(() => {
// fixture.detectChanges();
// expect(element.querySelector('pdf-viewer')).not.toBeNull();
// });
// });
// }));
//
// it('should display a PDF file identified by mimetype when the file extension is wrong', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
// let element = fixture.nativeElement;
// component.urlFile = 'content.bin';
// component.mimeType = 'application/pdf';
//
// component.ngOnChanges().then(() => {
// fixture.detectChanges();
// expect(element.querySelector('pdf-viewer')).not.toBeNull();
// });
// });
// }));
//
// it('should display an image file identified by mimetype when the filename has no extension', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
// let element = fixture.nativeElement;
// component.urlFile = 'content';
// component.mimeType = 'image/png';
//
// component.ngOnChanges().then(() => {
// fixture.detectChanges();
// expect(element.querySelector('#viewer-image')).not.toBeNull();
// });
// });
// }));
//
// it('should display a image file identified by mimetype when the file extension is wrong', injectAsync([TestComponentBuilder], (tcb: TestComponentBuilder) => {
// return tcb
// .createAsync(ViewerComponent)
// .then((fixture) => {
// let component = fixture.componentInstance;
// let element = fixture.nativeElement;
// component.urlFile = 'content.bin';
// component.mimeType = 'image/png';
//
// component.ngOnChanges().then(() => {
// fixture.detectChanges();
// expect(element.querySelector('#viewer-image')).not.toBeNull();
// });
// });
// }));
// });
// });