From f8ae57acec0a980f887de93550ca2e8d10cc890e Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Tue, 4 Oct 2016 18:14:16 +0100 Subject: [PATCH 1/2] fix test angular2 Final release viewer component #749 --- .../src/components/tag-list.component.spec.ts | 2 +- .../tag-node-list.component.spec.ts | 2 +- .../ng2-alfresco-viewer/karma-test-shim.js | 22 +-- .../ng2-alfresco-viewer/karma.conf.js | 16 +- .../ng2-alfresco-viewer/package.json | 2 +- .../src/componets/imgViewer.component.spec.ts | 50 ++++-- .../src/componets/imgViewer.component.ts | 4 +- .../componets/mediaPlayer.component.spec.ts | 47 ++++-- .../src/componets/mediaPlayer.component.ts | 3 +- .../notSupportedFormat.component.spec.ts | 52 ++++-- .../componets/notSupportedFormat.component.ts | 4 +- .../src/componets/pdfViewer.component.spec.ts | 127 ++++++++------- .../src/componets/pdfViewer.component.ts | 3 +- .../src/componets/viewer.component.html | 3 +- .../src/componets/viewer.component.spec.ts | 151 +++++++++--------- .../src/componets/viewer.component.ts | 4 +- .../services/rendering-queue.services.spec.ts | 20 +-- .../ng2-alfresco-viewer/tsconfig.json | 4 +- 18 files changed, 279 insertions(+), 237 deletions(-) diff --git a/ng2-components/ng2-alfresco-tag/src/components/tag-list.component.spec.ts b/ng2-components/ng2-alfresco-tag/src/components/tag-list.component.spec.ts index 842b2b397d..aa6bf3a6dd 100644 --- a/ng2-components/ng2-alfresco-tag/src/components/tag-list.component.spec.ts +++ b/ng2-components/ng2-alfresco-tag/src/components/tag-list.component.spec.ts @@ -29,7 +29,7 @@ import { TagService } from '../services/tag.service'; declare let jasmine: any; -describe('Test ng2-alfresco-tag Tag list All ECM', () => { +describe('Test ng2-alfresco-tag Tag list All ECM', () => { let dataTag = { 'list': { diff --git a/ng2-components/ng2-alfresco-tag/src/components/tag-node-list.component.spec.ts b/ng2-components/ng2-alfresco-tag/src/components/tag-node-list.component.spec.ts index 344930c13a..84bca5aea9 100644 --- a/ng2-components/ng2-alfresco-tag/src/components/tag-node-list.component.spec.ts +++ b/ng2-components/ng2-alfresco-tag/src/components/tag-node-list.component.spec.ts @@ -28,7 +28,7 @@ import { TagService } from '../services/tag.service'; declare let jasmine: any; -describe('Tag relative node list', () => { +describe('Test ng2-alfresco-tag Tag relative node list', () => { let dataTag = { diff --git a/ng2-components/ng2-alfresco-viewer/karma-test-shim.js b/ng2-components/ng2-alfresco-viewer/karma-test-shim.js index 9662cebf0a..b8abf7fee2 100644 --- a/ng2-components/ng2-alfresco-viewer/karma-test-shim.js +++ b/ng2-components/ng2-alfresco-viewer/karma-test-shim.js @@ -54,18 +54,8 @@ var map = { 'ng2-translate': 'npm:ng2-translate', 'alfresco-js-api': 'npm:alfresco-js-api/dist', - 'ng2-activiti-form': 'npm:ng2-activiti-form/dist', - 'ng2-activiti-processlist': 'npm:ng2-activiti-processlist/dist', - 'ng2-activiti-tasklist': 'npm:ng2-activiti-tasklist/dist', 'ng2-alfresco-core': 'npm:ng2-alfresco-core/dist', - 'ng2-alfresco-datatable': 'npm:ng2-alfresco-datatable/dist', - 'ng2-alfresco-documentlist': 'npm:ng2-alfresco-documentlist/dist', - 'ng2-alfresco-login': 'npm:ng2-alfresco-login/dist', - 'ng2-alfresco-search': 'npm:ng2-alfresco-search/dist', - 'ng2-alfresco-tag': 'npm:ng2-alfresco-tag/dist', - 'ng2-alfresco-upload': 'npm:ng2-alfresco-upload/dist', 'ng2-alfresco-viewer': 'npm:ng2-alfresco-viewer/dist', - 'ng2-alfresco-webscript': 'npm:ng2-alfresco-webscript/dist' }; var packages = { @@ -74,18 +64,8 @@ var packages = { 'ng2-translate': { defaultExtension: 'js' }, 'alfresco-js-api': { main: './alfresco-js-api.js', defaultExtension: 'js'}, - 'ng2-activiti-form': { main: './index.js', defaultExtension: 'js'}, - 'ng2-activiti-processlist': { main: './index.js', defaultExtension: 'js'}, - 'ng2-activiti-tasklist': { main: './index.js', defaultExtension: 'js'}, 'ng2-alfresco-core': { main: './index.js', defaultExtension: 'js'}, - 'ng2-alfresco-datatable': { main: './index.js', defaultExtension: 'js'}, - 'ng2-alfresco-documentlist': { main: './index.js', defaultExtension: 'js'}, - 'ng2-alfresco-login': { main: './index.js', defaultExtension: 'js'}, - 'ng2-alfresco-search': { main: './index.js', defaultExtension: 'js'}, - 'ng2-alfresco-tag': { main: './index.js', defaultExtension: 'js'}, - 'ng2-alfresco-upload': { main: './index.js', defaultExtension: 'js'}, - 'ng2-alfresco-viewer': { main: './index.js', defaultExtension: 'js'}, - 'ng2-alfresco-webscript': { main: './index.js', defaultExtension: 'js'} + 'ng2-alfresco-viewer': { main: './index.js', defaultExtension: 'js'} }; var config = { diff --git a/ng2-components/ng2-alfresco-viewer/karma.conf.js b/ng2-components/ng2-alfresco-viewer/karma.conf.js index f6004cd36b..0e5b87a90b 100644 --- a/ng2-components/ng2-alfresco-viewer/karma.conf.js +++ b/ng2-components/ng2-alfresco-viewer/karma.conf.js @@ -44,18 +44,14 @@ module.exports = function (config) { {pattern: 'dist/**/*.css', included: true, served: true, watched: true}, // ng2-components - { pattern: 'node_modules/ng2-activiti-form/dist/**/*.js', included: false, served: true, watched: false }, - { pattern: 'node_modules/ng2-activiti-processlist/dist/**/*.js', included: false, served: true, watched: false }, - { pattern: 'node_modules/ng2-activiti-tasklist/dist/**/*.js', included: false, served: true, watched: false }, { pattern: 'node_modules/ng2-alfresco-core/dist/**/*.js', included: false, served: true, watched: false }, - { pattern: 'node_modules/ng2-alfresco-datatable/dist/**/*.js', included: false, served: true, watched: false }, - { pattern: 'node_modules/ng2-alfresco-documentlist/dist/**/*.js', included: false, served: true, watched: false }, - { pattern: 'node_modules/ng2-alfresco-login/dist/**/*.js', included: false, served: true, watched: false }, - { pattern: 'node_modules/ng2-alfresco-search/dist/**/*.js', included: false, served: true, watched: false }, - { pattern: 'node_modules/ng2-alfresco-tag/dist/**/*.js', included: false, served: true, watched: false }, - { pattern: 'node_modules/ng2-alfresco-upload/dist/**/*.js', included: false, served: true, watched: false }, { pattern: 'node_modules/ng2-alfresco-viewer/dist/**/*.js', included: false, served: true, watched: false }, - { pattern: 'node_modules/ng2-alfresco-webscript/dist/**/*.js', included: false, served: true, watched: false }, + + // pdf-js + { pattern: 'node_modules/pdfjs-dist/build/pdf.js', included: true, watched: false }, + { pattern: 'node_modules/pdfjs-dist/build/pdf.worker.js', included: true, watched: false }, + { pattern: 'node_modules/pdfjs-dist/web/pdf_viewer.js', included: true, watched: false }, + { pattern: 'src/assets/fake-test-file.pdf', included: false, watched: true, served: true }, // paths to support debugging with source maps in dev tools {pattern: 'src/**/*.ts', included: false, watched: false}, diff --git a/ng2-components/ng2-alfresco-viewer/package.json b/ng2-components/ng2-alfresco-viewer/package.json index 934d687704..5772b23b8d 100644 --- a/ng2-components/ng2-alfresco-viewer/package.json +++ b/ng2-components/ng2-alfresco-viewer/package.json @@ -55,12 +55,12 @@ "@angular/platform-browser-dynamic": "2.0.0", "@angular/router": "3.0.0", "@angular/upgrade": "2.0.0", + "@types/node": "^6.0.42", "core-js": "^2.4.1", "reflect-metadata": "^0.1.3", "rxjs": "5.0.0-beta.12", "systemjs": "0.19.27", "zone.js": "^0.6.23", - "ng2-translate": "2.5.0", "alfresco-js-api": "^0.3.0", "ng2-alfresco-core": "0.3.2", diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/imgViewer.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/componets/imgViewer.component.spec.ts index ef81e90dc3..142d8988f4 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/imgViewer.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/imgViewer.component.spec.ts @@ -15,24 +15,46 @@ * limitations under the License. */ -/* -import { TestComponentBuilder } from '@angular/compiler/testing'; +import { ComponentFixture, TestBed, async } from '@angular/core/testing'; import { ImgViewerComponent } from './imgViewer.component'; +import { DebugElement } from '@angular/core'; +import { + AlfrescoAuthenticationService, + AlfrescoSettingsService, + AlfrescoApiService, + CoreModule +} from 'ng2-alfresco-core'; -describe('Img viewer component ', () => { +describe('Test ng2-alfresco-viewer Img viewer component ', () => { - let imgViewerComponentFixture, element, component; + let component: any; + let fixture: ComponentFixture; + let debug: DebugElement; + let element: HTMLElement; - beforeEach(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { - return tcb - .createAsync(ImgViewerComponent) - .then(fixture => { - imgViewerComponentFixture = fixture; - element = fixture.nativeElement; - component = fixture.componentInstance; - }); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ + CoreModule + ], + declarations: [ImgViewerComponent], + providers: [ + AlfrescoSettingsService, + AlfrescoAuthenticationService, + AlfrescoApiService + ] + }).compileComponents(); })); + beforeEach(() => { + fixture = TestBed.createComponent(ImgViewerComponent); + + debug = fixture.debugElement; + element = fixture.nativeElement; + component = fixture.componentInstance; + fixture.detectChanges(); + }); + it('If no url is passed should thrown an error', () => { expect(() => { component.ngOnChanges(); @@ -48,8 +70,8 @@ describe('Img viewer component ', () => { it('The file Name should be present in the alt attribute', () => { component.nameFile = 'fake-name'; - imgViewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-image').getAttribute('alt')).toEqual('fake-name'); }); }); -*/ + diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/imgViewer.component.ts b/ng2-components/ng2-alfresco-viewer/src/componets/imgViewer.component.ts index 99731787b1..a41b696646 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/imgViewer.component.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/imgViewer.component.ts @@ -17,10 +17,8 @@ import { Component, Input } from '@angular/core'; -declare let __moduleName: string; - @Component({ - moduleId: __moduleName, + moduleId: module.id, selector: 'img-viewer', templateUrl: './imgViewer.component.html', styleUrls: ['./imgViewer.component.css'] diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/mediaPlayer.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/componets/mediaPlayer.component.spec.ts index b90d4e417a..7f9600dda9 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/mediaPlayer.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/mediaPlayer.component.spec.ts @@ -15,24 +15,46 @@ * limitations under the License. */ -/* -import { TestComponentBuilder } from '@angular/compiler/testing'; +import { ComponentFixture, TestBed, async } from '@angular/core/testing'; import { MediaPlayerComponent } from './mediaPlayer.component'; +import { DebugElement } from '@angular/core'; +import { + AlfrescoAuthenticationService, + AlfrescoSettingsService, + AlfrescoApiService, + CoreModule +} from 'ng2-alfresco-core'; -describe('Media player component ', () => { +describe('Test ng2-alfresco-viewer Media player component ', () => { - let mediaPlayerComponentFixture, element, component; + let component: any; + let fixture: ComponentFixture; + let debug: DebugElement; + let element: HTMLElement; - beforeEach(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { - return tcb - .createAsync(MediaPlayerComponent) - .then(fixture => { - mediaPlayerComponentFixture = fixture; - element = fixture.nativeElement; - component = fixture.componentInstance; - }); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ + CoreModule + ], + declarations: [MediaPlayerComponent], + providers: [ + AlfrescoSettingsService, + AlfrescoAuthenticationService, + AlfrescoApiService + ] + }).compileComponents(); })); + beforeEach(() => { + fixture = TestBed.createComponent(MediaPlayerComponent); + + debug = fixture.debugElement; + element = fixture.nativeElement; + component = fixture.componentInstance; + fixture.detectChanges(); + }); + it('If no url is passed should thrown an error', () => { expect(() => { component.ngOnChanges(); @@ -53,4 +75,3 @@ describe('Media player component ', () => { }).not.toThrow(new Error('Attribute urlFile is required')); }); }); -*/ diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/mediaPlayer.component.ts b/ng2-components/ng2-alfresco-viewer/src/componets/mediaPlayer.component.ts index 6ba7780178..734f0be58e 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/mediaPlayer.component.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/mediaPlayer.component.ts @@ -16,10 +16,9 @@ */ import { Component, Input } from '@angular/core'; -declare let __moduleName: string; @Component({ - moduleId: __moduleName, + moduleId: module.id, selector: 'media-player', templateUrl: './mediaPlayer.component.html', styleUrls: ['./mediaPlayer.component.css'] diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/notSupportedFormat.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/componets/notSupportedFormat.component.spec.ts index cc078b810c..4e87868bd8 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/notSupportedFormat.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/notSupportedFormat.component.spec.ts @@ -15,25 +15,46 @@ * limitations under the License. */ -/* -import { TestComponentBuilder } from '@angular/compiler/testing'; +import { ComponentFixture, TestBed, async } from '@angular/core/testing'; import { NotSupportedFormat } from './notSupportedFormat.component'; +import { DebugElement } from '@angular/core'; +import { + AlfrescoAuthenticationService, + AlfrescoSettingsService, + AlfrescoApiService, + CoreModule +} from 'ng2-alfresco-core'; -describe('Not Supported Format View', () => { +describe('Test ng2-alfresco-viewer Not Supported Format View component', () => { - let notSupportedFixture, element, component; + let component: any; + let fixture: ComponentFixture; + let debug: DebugElement; + let element: HTMLElement; - beforeEach(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { - return tcb - .createAsync(NotSupportedFormat) - .then(fixture => { - notSupportedFixture = fixture; - element = fixture.nativeElement; - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ + CoreModule + ], + declarations: [NotSupportedFormat], + providers: [ + AlfrescoSettingsService, + AlfrescoAuthenticationService, + AlfrescoApiService + ] + }).compileComponents(); })); + beforeEach(() => { + fixture = TestBed.createComponent(NotSupportedFormat); + + debug = fixture.debugElement; + element = fixture.nativeElement; + component = fixture.componentInstance; + fixture.detectChanges(); + }); + describe('View', () => { it('Download button should be present', () => { @@ -42,7 +63,7 @@ describe('Not Supported Format View', () => { it('should display the name of the file', () => { component.nameFile = 'Example Content.xls'; - notSupportedFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('h4 span').innerHTML).toEqual('Example Content.xls'); }); }); @@ -51,11 +72,10 @@ describe('Not Supported Format View', () => { it('Click on Download button should call download method', () => { spyOn(window, 'open'); - let downloadButton = element.querySelector('#viewer-download-button'); + let downloadButton: any = element.querySelector('#viewer-download-button'); downloadButton.click(); expect(window.open).toHaveBeenCalled(); }); }); }); -*/ diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/notSupportedFormat.component.ts b/ng2-components/ng2-alfresco-viewer/src/componets/notSupportedFormat.component.ts index 4c83441c68..43907ae3a8 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/notSupportedFormat.component.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/notSupportedFormat.component.ts @@ -17,10 +17,8 @@ import { Component, Input } from '@angular/core'; -declare let __moduleName: string; - @Component({ - moduleId: __moduleName, + moduleId: module.id, selector: 'not-supported-format', templateUrl: './notSupportedFormat.component.html', styleUrls: ['./notSupportedFormat.component.css'] diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.spec.ts index 633042315a..e29ad6cee2 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.spec.ts @@ -15,42 +15,55 @@ * limitations under the License. */ -/* -import { beforeEachProviders } from '@angular/core/testing'; -import { TestComponentBuilder } from '@angular/compiler/testing'; -import { RenderingQueueServices } from '../services/rendering-queue.services'; +import { ComponentFixture, TestBed, async } from '@angular/core/testing'; +import { RenderingQueueServices } from '../services/rendering-queue.services'; import { PdfViewerComponent } from './pdfViewer.component'; import { EventMock } from '../assets/event.mock'; +import { DebugElement } from '@angular/core'; +import { + AlfrescoAuthenticationService, + AlfrescoSettingsService, + AlfrescoApiService, + CoreModule +} from 'ng2-alfresco-core'; -import { AlfrescoAuthenticationService, AlfrescoSettingsService } from 'ng2-alfresco-core'; +describe('Test ng2-alfresco-viewer PdfViewer component', () => { -describe('PdfViewer', () => { + let component: any; + let fixture: ComponentFixture; + let debug: DebugElement; + let element: HTMLElement; - let pdfComponentFixture, element, component; - - beforeEachProviders(() => { - return [ - AlfrescoSettingsService, - AlfrescoAuthenticationService, - RenderingQueueServices - ]; - }); - - beforeEach(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { - return tcb - .createAsync(PdfViewerComponent) - .then(fixture => { - pdfComponentFixture = fixture; - element = fixture.nativeElement; - component = fixture.componentInstance; - - component.showToolbar = true; - component.urlFile = 'base/src/assets/fake-test-file.pdf'; - pdfComponentFixture.detectChanges(); - }); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ + CoreModule + ], + declarations: [PdfViewerComponent], + providers: [ + AlfrescoSettingsService, + AlfrescoAuthenticationService, + AlfrescoApiService, + RenderingQueueServices + ] + }).compileComponents(); })); + beforeEach(() => { + fixture = TestBed.createComponent(PdfViewerComponent); + + debug = fixture.debugElement; + element = fixture.nativeElement; + component = fixture.componentInstance; + + component.showToolbar = true; + component.urlFile = 'base/src/assets/fake-test-file.pdf'; + fixture.detectChanges(); + + fixture.detectChanges(); + }); + describe('View', () => { it('Canvas should be present', () => { expect(element.querySelector('#viewer-viewerPdf')).not.toBeNull(); @@ -58,20 +71,20 @@ describe('PdfViewer', () => { }); it('Loader should be present', () => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#loader-container')).not.toBeNull(); }); it('Next an Previous Buttons should be present', () => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-previous-page-button')).not.toBeNull(); expect(element.querySelector('#viewer-next-page-button')).not.toBeNull(); }); it('Input Page elements should be present', () => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-pagenumber-input')).toBeDefined(); expect(element.querySelector('#viewer-total-pages')).toBeDefined(); @@ -83,7 +96,7 @@ describe('PdfViewer', () => { it('Toolbar should be hide if showToolbar is false', () => { component.showToolbar = false; - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-toolbar-command')).toBeNull(); expect(element.querySelector('#viewer-toolbar-pagination')).toBeNull(); @@ -98,7 +111,7 @@ describe('PdfViewer', () => { xit('Total number of pages should be loaded', (done) => { component.ngOnChanges().then(() => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.totalPages).toEqual(4); done(); }); @@ -106,23 +119,23 @@ describe('PdfViewer', () => { it('right arrow should move to the next page', (done) => { component.ngOnChanges().then(() => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(1); EventMock.keyDown(39); - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(2); done(); }); }, 5000); it('nextPage should move to the next page', (done) => { - let nextPageButton = element.querySelector('#viewer-next-page-button'); + let nextPageButton: any = element.querySelector('#viewer-next-page-button'); component.ngOnChanges().then(() => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(1); nextPageButton.click(); - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(2); done(); }); @@ -130,28 +143,28 @@ describe('PdfViewer', () => { it('left arrow should move to the previous page', (done) => { component.ngOnChanges().then(() => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(1); EventMock.keyDown(39); EventMock.keyDown(39); EventMock.keyDown(37); - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(2); done(); }); }); it('previous page should move to the previous page', (done) => { - let previousPageButton = element.querySelector('#viewer-previous-page-button'); - let nextPageButton = element.querySelector('#viewer-next-page-button'); + let previousPageButton: any = element.querySelector('#viewer-previous-page-button'); + let nextPageButton: any = element.querySelector('#viewer-next-page-button'); component.ngOnChanges().then(() => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(1); nextPageButton.click(); nextPageButton.click(); previousPageButton.click(); - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(2); done(); }); @@ -159,10 +172,10 @@ describe('PdfViewer', () => { it('previous page should not move to the previous page if is page 1', (done) => { component.ngOnChanges().then(() => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(1); component.previousPage(); - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(1); done(); }); @@ -170,10 +183,10 @@ describe('PdfViewer', () => { it('Input page should move to the inserted page', (done) => { component.ngOnChanges().then(() => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(1); component.inputPage('2'); - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(2); done(); }); @@ -183,11 +196,11 @@ describe('PdfViewer', () => { beforeEach(() => { component.currentScale = 1; - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); }); it('In should increment the scale value', (done) => { - let zoomInButton = element.querySelector('#viewer-zoom-in-button'); + let zoomInButton: any = element.querySelector('#viewer-zoom-in-button'); component.ngOnChanges().then(() => { zoomInButton.click(); @@ -198,7 +211,7 @@ describe('PdfViewer', () => { }); it('Out should decrement the scale value', (done) => { - let zoomOutButton = element.querySelector('#viewer-zoom-out-button'); + let zoomOutButton: any = element.querySelector('#viewer-zoom-out-button'); component.ngOnChanges().then(() => { let zoomBefore = component.currentScale; @@ -211,7 +224,7 @@ describe('PdfViewer', () => { }); it('fit-in button should toggle page-fit and auto scale mode', (done) => { - let fitPage = element.querySelector('#viewer-scale-page-button'); + let fitPage: any = element.querySelector('#viewer-scale-page-button'); component.ngOnChanges().then(() => { expect(component.currentScaleMode).toBe('auto'); @@ -228,7 +241,7 @@ describe('PdfViewer', () => { describe('Resize interaction', () => { xit('resize event should trigger setScaleUpdatePages', (done) => { component.ngOnChanges().then(() => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); spyOn(component, 'onResize'); component.documentContainer = element.querySelector('#viewer-pdf-container'); EventMock.resizeMobileView(); @@ -241,19 +254,19 @@ describe('PdfViewer', () => { describe('scroll interaction', () => { xit('scroll page should return the current page', (done) => { component.ngOnChanges().then(() => { - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(1); component.inputPage('2'); - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(2); let documentContainer = element.querySelector('#viewer-pdf-container'); documentContainer.scrollTop = 100000; component.watchScroll(documentContainer); - pdfComponentFixture.detectChanges(); + fixture.detectChanges(); expect(component.displayPage).toBe(4); done(); }); }); }); }); -*/ + diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.ts b/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.ts index 7d9e190ead..91ac2b05ee 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.ts @@ -19,10 +19,9 @@ import { Component, Input, HostListener } from '@angular/core'; import { RenderingQueueServices } from '../services/rendering-queue.services'; declare let PDFJS: any; -declare let __moduleName: string; @Component({ - moduleId: __moduleName, + moduleId: module.id, selector: 'pdf-viewer', templateUrl: './pdfViewer.component.html', styleUrls: ['./pdfViewer.component.css', './pdfViewerHost.component.css'], diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.html b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.html index ff7f56479e..a698f338bd 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.html +++ b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.html @@ -6,8 +6,7 @@
-
+
diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.spec.ts index c51db26ae4..e610f0b329 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.spec.ts @@ -15,56 +15,68 @@ * limitations under the License. */ -describe('ViewerComponent', () => { - it('should be upgraded', () => { - expect(true).toBe(true); - }); -}); - -/* -import { beforeEachProviders } from '@angular/core/testing'; -import { TestComponentBuilder } from '@angular/compiler/testing'; +import { ComponentFixture, TestBed, async } from '@angular/core/testing'; +import { PdfViewerComponent } from './pdfViewer.component'; +import { NotSupportedFormat } from './notSupportedFormat.component'; +import { MediaPlayerComponent } from './mediaPlayer.component'; +import { ImgViewerComponent } from './imgViewer.component'; +import { RenderingQueueServices } from '../services/rendering-queue.services'; import { ViewerComponent } from './viewer.component'; import { EventMock } from '../assets/event.mock'; -import { AlfrescoAuthenticationService, AlfrescoSettingsService, AlfrescoApiService } from 'ng2-alfresco-core'; -import { RenderingQueueServices } from '../services/rendering-queue.services'; +import { DebugElement } from '@angular/core'; +import { + AlfrescoAuthenticationService, + AlfrescoSettingsService, + AlfrescoApiService, + CoreModule +} from 'ng2-alfresco-core'; -declare let AlfrescoApi: any; +declare let jasmine: any; -describe('ViewerComponent', () => { +describe('Test ng2-alfresco-viewer ViewerComponent', () => { - let viewerComponentFixture, element, component; - let apiService: AlfrescoApiService; + let component: any; + let fixture: ComponentFixture; + let debug: DebugElement; + let element: HTMLElement; - beforeEachProviders(() => { - return [ - AlfrescoApiService, - AlfrescoSettingsService, - AlfrescoAuthenticationService, - RenderingQueueServices - ]; - }); - - beforeEach(inject([TestComponentBuilder, AlfrescoApiService], (tcb: TestComponentBuilder, api: AlfrescoApiService) => { - apiService = api; - apiService.setInstance(new AlfrescoApi({})); - - return tcb - .createAsync(ViewerComponent) - .then(fixture => { - viewerComponentFixture = fixture; - element = viewerComponentFixture.nativeElement; - component = viewerComponentFixture.componentInstance; - - jasmine.Ajax.install(); - - component.urlFile = 'base/src/assets/fake-test-file.pdf'; - component.overlayMode = true; - - viewerComponentFixture.detectChanges(); - }); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ + CoreModule + ], + declarations: [ + ViewerComponent, + PdfViewerComponent, + NotSupportedFormat, + MediaPlayerComponent, + ImgViewerComponent + ], + providers: [ + AlfrescoSettingsService, + AlfrescoAuthenticationService, + AlfrescoApiService, + RenderingQueueServices + ] + }).compileComponents(); })); + beforeEach(() => { + fixture = TestBed.createComponent(ViewerComponent); + + debug = fixture.debugElement; + element = fixture.nativeElement; + component = fixture.componentInstance; + + jasmine.Ajax.install(); + + component.showToolbar = true; + component.urlFile = 'base/src/assets/fake-test-file.pdf'; + fixture.detectChanges(); + + fixture.detectChanges(); + }); + afterEach(() => { jasmine.Ajax.uninstall(); }); @@ -75,7 +87,7 @@ describe('ViewerComponent', () => { beforeEach(() => { component.overlayMode = true; - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); }); it('shadow overlay should be present if is overlay mode', () => { @@ -88,7 +100,7 @@ describe('ViewerComponent', () => { it('Name File should be present if is overlay mode ', () => { component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-name-file').innerHTML).toEqual('fake-test-file.pdf'); }); }); @@ -98,19 +110,20 @@ describe('ViewerComponent', () => { }); it('Click on close button should hide the viewer', () => { - element.querySelector('#viewer-close-button').click(); - viewerComponentFixture.detectChanges(); + let closebutton: any = element.querySelector('#viewer-close-button'); + closebutton.click(); + fixture.detectChanges(); expect(element.querySelector('#viewer-main-container')).toBeNull(); }); it('Esc button should hide the viewer', () => { EventMock.keyDown(27); - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-main-container')).toBeNull(); }); it('all-space class should not be present if is in overlay mode', () => { - expect(element.querySelector('#viewer').getAttribute('class')).toBeNull(); + expect(element.querySelector('#viewer').getAttribute('class')).toEqual(''); }); }); @@ -118,7 +131,7 @@ describe('ViewerComponent', () => { beforeEach(() => { component.overlayMode = false; - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); }); it('header should be NOT be present if is not overlay mode', () => { @@ -131,7 +144,7 @@ describe('ViewerComponent', () => { it('Esc button should not hide the viewer if is not overlay mode', () => { EventMock.keyDown(27); - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-main-container')).not.toBeNull(); }); @@ -171,18 +184,6 @@ describe('ViewerComponent', () => { }).not.toThrow(); }); - it('If FileNodeId is present the node api should be called', () => { - component.showViewer = true; - component.fileNodeId = 'file-node-id'; - component.urlFile = undefined; - - let alfrescoApi = apiService.getInstance(); - spyOn(alfrescoApi.nodes, 'getNodeInfo').and.stub(); - - component.ngOnChanges(); - expect(alfrescoApi.nodes.getNodeInfo).toHaveBeenCalledWith(component.fileNodeId); - }); - it('showViewer default value should be true', () => { expect(component.showViewer).toBe(true); }); @@ -190,7 +191,7 @@ describe('ViewerComponent', () => { it('if showViewer value is false the viewer should be hide', () => { component.showViewer = false; - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-main-container')).toBeNull(); }); }); @@ -200,7 +201,7 @@ describe('ViewerComponent', () => { component.urlFile = 'base/src/assets/fake-test-file.pdf'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('pdf-viewer')).not.toBeNull(); done(); }); @@ -210,7 +211,7 @@ describe('ViewerComponent', () => { component.urlFile = 'fake-url-file.png'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-image')).not.toBeNull(); done(); }); @@ -220,7 +221,7 @@ describe('ViewerComponent', () => { component.urlFile = 'fake-url-file.mp4'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('media-player')).not.toBeNull(); done(); }); @@ -230,7 +231,7 @@ describe('ViewerComponent', () => { component.urlFile = 'fake-url-file.unsupported'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('not-supported-format')).not.toBeNull(); done(); }); @@ -243,7 +244,7 @@ describe('ViewerComponent', () => { component.mimeType = 'application/pdf'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('pdf-viewer')).not.toBeNull(); done(); }); @@ -255,7 +256,7 @@ describe('ViewerComponent', () => { component.mimeType = 'application/pdf'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('pdf-viewer')).not.toBeNull(); done(); }); @@ -266,7 +267,7 @@ describe('ViewerComponent', () => { component.mimeType = 'image/png'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-image')).not.toBeNull(); done(); }); @@ -277,7 +278,7 @@ describe('ViewerComponent', () => { component.mimeType = 'image/png'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('#viewer-image')).not.toBeNull(); done(); }); @@ -288,8 +289,7 @@ describe('ViewerComponent', () => { component.mimeType = 'video/mp4'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); - console.log(element.querySelector('media-player')); + fixture.detectChanges(); expect(element.querySelector('media-player')).not.toBeNull(); done(); }); @@ -300,7 +300,7 @@ describe('ViewerComponent', () => { component.mimeType = 'video/mp4'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('media-player')).not.toBeNull(); done(); }); @@ -311,11 +311,10 @@ describe('ViewerComponent', () => { component.mimeType = 'video/avi'; component.ngOnChanges().then(() => { - viewerComponentFixture.detectChanges(); + fixture.detectChanges(); expect(element.querySelector('media-player')).toBeNull(); done(); }); }); }); }); -*/ diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.ts b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.ts index 88669640ba..094faa139c 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.ts @@ -20,10 +20,8 @@ import { DOCUMENT } from '@angular/platform-browser'; import { MinimalNodeEntryEntity } from 'alfresco-js-api'; import { AlfrescoApiService } from 'ng2-alfresco-core'; -declare let __moduleName: string; - @Component({ - moduleId: __moduleName, + moduleId: module.id, selector: 'alfresco-viewer', templateUrl: './viewer.component.html', styleUrls: ['./viewer.component.css'] diff --git a/ng2-components/ng2-alfresco-viewer/src/services/rendering-queue.services.spec.ts b/ng2-components/ng2-alfresco-viewer/src/services/rendering-queue.services.spec.ts index c76e7827b7..be97b06652 100644 --- a/ng2-components/ng2-alfresco-viewer/src/services/rendering-queue.services.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/services/rendering-queue.services.spec.ts @@ -15,27 +15,27 @@ * limitations under the License. */ -/* -import { it, describe, inject, beforeEach, beforeEachProviders, expect } from '@angular/core/testing'; +import { ReflectiveInjector } from '@angular/core'; import { RenderingQueueServices } from './rendering-queue.services'; +declare let jasmine: any; describe('RenderingQueueServices', () => { - let service; + let service, injector; - beforeEachProviders(() => { - return [ + beforeEach(() => { + injector = ReflectiveInjector.resolveAndCreate([ RenderingQueueServices - ]; + ]); }); - beforeEach(inject([RenderingQueueServices], (renderingQueueServices: RenderingQueueServices) => { - service = renderingQueueServices; - })); + beforeEach(() => { + service = injector.get(RenderingQueueServices); + }); it('Simple import example', () => { expect(service.CLEANUP_TIMEOUT).toEqual(30000); }); }); -*/ + diff --git a/ng2-components/ng2-alfresco-viewer/tsconfig.json b/ng2-components/ng2-alfresco-viewer/tsconfig.json index b1effea355..7be35bfec8 100644 --- a/ng2-components/ng2-alfresco-viewer/tsconfig.json +++ b/ng2-components/ng2-alfresco-viewer/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "es5", - "module": "system", + "module": "commonjs", "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, @@ -16,7 +16,7 @@ "noImplicitUseStrict": false, "noFallthroughCasesInSwitch": true, "outDir": "dist", - "types": ["core-js", "jasmine"] + "types": ["core-js", "jasmine", "node"] }, "exclude": [ "demo", From 9c12c2bf345e4dd1d6870168538d4730bbce6db7 Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Wed, 5 Oct 2016 10:18:31 +0100 Subject: [PATCH 2/2] change zoom test --- .../src/componets/pdfViewer.component.spec.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.spec.ts index e29ad6cee2..f8b4b6b0cb 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/pdfViewer.component.spec.ts @@ -203,9 +203,11 @@ describe('Test ng2-alfresco-viewer PdfViewer component', () => { let zoomInButton: any = element.querySelector('#viewer-zoom-in-button'); component.ngOnChanges().then(() => { + let zoomBefore = component.currentScale; zoomInButton.click(); expect(component.currentScaleMode).toBe('auto'); - expect(component.currentScale).toBe(0.9); + let currentZoom = component.currentScale; + expect(zoomBefore < currentZoom).toBe(true); done(); }); });