Skip to content
Snippets Groups Projects
Commit d6f0c18d authored by FORESTIER Fabien's avatar FORESTIER Fabien Committed by ncastejon
Browse files

Fixing tests

parent 263cc14d
Branches
No related tags found
No related merge requests found
Pipeline #
......@@ -94,7 +94,7 @@ describe('App routing', () => {
it('navigate to "/recherche/datasets/abcdef" takes you to /recherche/datasets/abcdef', done => {
router.navigateByUrl('/recherche/datasets/abcdef').then(() => {
expect(router.routerState.snapshot.url).toBe('/recherche/datasets/abcdef');
expect(router.routerState.snapshot.url).toBe('/recherche/datasets/abcdef/info');
done();
});
});
......
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { DatasetDetailComponent } from './dataset-detail.component';
import { RouterTestingModule } from '@angular/router/testing';
import { ActivatedRoute, ParamMap, convertToParamMap } from '@angular/router';
import { Observable } from 'rxjs/Observable';
import { DatasetService, ElasticsearchService } from '../../services';
import { HttpClientModule } from '@angular/common/http';
import { Metadata } from '../../models';
describe('DatasetMapComponent', () => {
describe('DatasetDetailComponent', () => {
let component: DatasetDetailComponent;
let fixture: ComponentFixture<DatasetDetailComponent>;
let service: DatasetService;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ DatasetDetailComponent ]
declarations: [ DatasetDetailComponent ],
imports: [
RouterTestingModule.withRoutes([]),
HttpClientModule
],
providers: [
{
provide: ActivatedRoute,
useValue: {
get paramMap(): Observable<any> {
return Observable.of();
}
}
},
DatasetService,
ElasticsearchService
]
})
.compileComponents();
}));
......@@ -16,6 +39,8 @@ describe('DatasetMapComponent', () => {
beforeEach(() => {
fixture = TestBed.createComponent(DatasetDetailComponent);
component = fixture.componentInstance;
service = TestBed.get(DatasetService);
spyOn(service, 'getMetadataById').and.returnValue(Observable.of(new Metadata()));
fixture.detectChanges();
});
......
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { DatasetExportComponent } from './dataset-export.component';
import { LicenseModalComponent } from '../..';
import { ActivatedRoute, ParamMap } from '@angular/router';
import { Observable } from 'rxjs/Observable';
import { DatasetService, ElasticsearchService } from '../../../services';
import { HttpClientModule } from '@angular/common/http';
import { Metadata } from '../../../models';
describe('DatasetExportComponent', () => {
let component: DatasetExportComponent;
let fixture: ComponentFixture<DatasetExportComponent>;
let service: DatasetService;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ DatasetExportComponent ]
imports: [
HttpClientModule
],
declarations: [DatasetExportComponent, LicenseModalComponent],
providers: [
{
provide: ActivatedRoute,
useValue: {
parent: {
get paramMap(): Observable<any> {
return Observable.of();
}
}
}
},
DatasetService,
ElasticsearchService
]
})
.compileComponents();
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(DatasetExportComponent);
component = fixture.componentInstance;
service = TestBed.get(DatasetService);
spyOn(service, 'getMetadataById').and.returnValue(Observable.of(new Metadata()));
fixture.detectChanges();
});
......
......@@ -16,6 +16,7 @@ describe('DatasetDescriptionComponent', () => {
beforeEach(() => {
fixture = TestBed.createComponent(DatasetDescriptionComponent);
component = fixture.componentInstance;
component.description = [];
fixture.detectChanges();
});
......
......@@ -3,10 +3,13 @@ import { DebugElement, Directive, Input, NO_ERRORS_SCHEMA } from '@angular/core'
import { ActivatedRoute, convertToParamMap, ParamMap } from '@angular/router';
import { Observable } from 'rxjs/Observable';
import { DatasetInfoComponent } from './dataset-info.component';
import { DatasetService} from '../../services/dataset.service';
import { Metadata } from '../../models';
import { DatasetService } from '../../../services/dataset.service';
import { Metadata } from '../../../models';
import { RouterTestingModule } from '@angular/router/testing';
import 'rxjs/add/observable/of';
import { DatasetDescriptionComponent } from '../..';
import { ElasticsearchService } from '../../../services';
import { HttpClientModule } from '@angular/common/http';
describe('DatasetInfoComponent', () => {
......@@ -14,85 +17,83 @@ describe('DatasetInfoComponent', () => {
title: 'Metadata Title',
abstract: 'abstract',
keyword: ['riri', 'fifi', 'loulou'],
getCategories: function() { return ['space_exploration', 'tintin_sur_la_lune']; },
getCategories: function () { return ['space_exploration', 'tintin_sur_la_lune']; },
dataset_id: '1',
uri: [],
contact: [],
date_publication: [],
topic_category: [],
highlight: '',
use_limitation: [],
rights: [],
total_documents: 10,
lineage: '',
spatial_type: '',
denominators: 2,
resolution: [],
} as Metadata;
describe('ngOnInit()', () => {
const metadataId = 1;
let component: DatasetInfoComponent;
let activatedRouteMock: ActivatedRoute;
let datasetServiceMock: DatasetService;
const metadataId = 1;
let component: DatasetInfoComponent;
let fixture: ComponentFixture<DatasetInfoComponent>;
let service: DatasetService;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
DatasetInfoComponent,
DatasetDescriptionComponent
],
imports: [
RouterTestingModule,
HttpClientModule
],
providers: [
DatasetService,
ElasticsearchService,
{
provide: ActivatedRoute,
useValue: {
parent: {
get paramMap(): Observable<any> {
return Observable.of({
get: function (param) {
return 1;
}
});
}
}
}
}
],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(DatasetInfoComponent);
component = fixture.componentInstance;
service = TestBed.get(DatasetService);
component.descriptions = [];
spyOn(service, 'getMetadataById').and.returnValue(Observable.of(metadata));
fixture.detectChanges();
});
beforeEach(() => {
activatedRouteMock = {
get paramMap(): Observable<ParamMap> {
return null;
},
} as ActivatedRoute;
datasetServiceMock = jasmine.createSpyObj('datasetService', {
getMetadataById: Observable.of(metadata),
});
component = new DatasetInfoComponent(activatedRouteMock, datasetServiceMock);
describe('Component creation', () => {
it('should create', () => {
expect(component).toBeTruthy();
});
});
it('should get dataset ID in path and get metadata details from service', () => {
// Given
const paramMapSpy = spyOnProperty(activatedRouteMock, 'paramMap', 'get').and
.returnValue(Observable.of(convertToParamMap({ id: metadataId })));
describe('ngOnInit()', () => {
// When
it('should get dataset ID in path and get metadata details from service', () => {
component.ngOnInit();
// Then
expect(paramMapSpy).toHaveBeenCalled();
expect(datasetServiceMock.getMetadataById).toHaveBeenCalledWith(metadataId);
expect(service.getMetadataById).toHaveBeenCalledWith(metadataId);
expect(component.metadata).toBe(metadata);
});
});
describe('template', () => {
let fixture: ComponentFixture<DatasetInfoComponent>;
let comp: DatasetInfoComponent;
let de: DebugElement;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [
DatasetInfoComponent
],
imports: [
RouterTestingModule,
],
schemas: [
NO_ERRORS_SCHEMA,
],
providers: [
{
provide: DatasetService,
useValue: {
getMetadataById(): Observable<Metadata> {
return Observable.of(metadata);
},
},
},
],
}).compileComponents();
});
beforeEach(fakeAsync(() => {
fixture = TestBed.createComponent(DatasetInfoComponent);
de = fixture.debugElement;
comp = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create the component', async(() => {
expect(fixture).toBeTruthy();
}));
});
});
......@@ -37,10 +37,11 @@ export class DatasetInfoComponent implements OnInit {
const isFrenchLanguage = Array('fr', 'fr-FR', 'fr-CA').includes(language);
this.descriptions = [];
const source = this.metadata.contact.length > 0 ? this.metadata.contact[0].organization : '';
this.descriptions.push({
title: isFrenchLanguage ? 'Informations générales' : 'General Information',
data: [
{ 'title': 'Source', 'value': this.metadata.contact[0].organization },
{ 'title': 'Source', 'value': source },
{ 'title': 'Formats', 'value': this.formatProtocols(this.metadata.uri) }
]
});
......@@ -64,6 +65,18 @@ export class DatasetInfoComponent implements OnInit {
{ 'title': isFrenchLanguage ? 'Restriction' : 'Restriction', 'value': this.metadata.rights[1] }
]
});
// TODO To be removed once initializated correctly on the class creation
let distance;
let uom;
if (this.metadata.resolution.length > 0) {
distance = this.metadata.resolution[0].distance;
uom = this.metadata.resolution[0].uom;
} else {
distance = '';
uom = '';
}
this.descriptions.push({
title: isFrenchLanguage ? 'Informations géographiques' : 'Geographical information',
data: [
......@@ -80,7 +93,7 @@ export class DatasetInfoComponent implements OnInit {
{
'title': isFrenchLanguage ? 'Résolution' : 'Resolution',
'idi18n': '@@dataset.resolution',
'value': this.metadata.resolution[0].distance + ' ' + this.metadata.resolution[0].uom
'value': distance + ' ' + uom
},
{
'title': isFrenchLanguage ? 'Etendue géographique' : 'Geographical extend',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment