Skip to content
Snippets Groups Projects
Commit 1294bb0e authored by Tifenn Guillas's avatar Tifenn Guillas
Browse files

WIP: Tests on result conponents

parent 8d431bea
No related branches found
No related tags found
2 merge requests!29Develop,!18Resolve "Add tests for instance search module"
......@@ -10,12 +10,7 @@ describe('[Instance][Search][Component] ProgressBarComponent', () => {
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [ProgressBarComponent],
imports: [
RouterTestingModule,
// AccordionModule.forRoot(),
// TooltipModule.forRoot(),
// BrowserAnimationsModule
]
imports: [RouterTestingModule]
});
fixture = TestBed.createComponent(ProgressBarComponent);
component = fixture.componentInstance;
......
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { ReminderComponent } from './reminder.component';
import { FieldCriterion } from '../../../store/models/criterion';
import { TabsModule } from 'ngx-bootstrap/tabs';
import { Criterion } from '../../../store/models';
describe('[Instance][Search][Component][Result] ReminderComponent', () => {
let component: ReminderComponent;
let fixture: ComponentFixture<ReminderComponent>;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [ReminderComponent],
imports: [
AccordionModule.forRoot(),
TabsModule.forRoot(),
BrowserAnimationsModule
]
});
fixture = TestBed.createComponent(ReminderComponent);
component = fixture.componentInstance;
});
it('should create the component', () => {
expect(component).toBeTruthy();
});
it('#isSummaryActivated() should return if summary has to be enabled or not', () => {
component.datasetList = [
{
name: 'myDataset',
table_ref: 'table',
label: 'my dataset',
description: 'This is my dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: false,
summary_opened: false
},
server_link: {
server_link_enabled: false,
server_link_opened: true
},
samp: {
samp_enabled: false,
samp_opened: false
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
},
{
name: 'anotherDataset',
table_ref: 'table',
label: 'another dataset',
description: 'This is another dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: true,
server_link_opened: true
},
samp: {
samp_enabled: true,
samp_opened: true
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
}
];
component.datasetSelected = 'myDataset';
expect(component.isSummaryActivated()).toBeFalsy();
component.datasetSelected = 'anotherDataset';
expect(component.isSummaryActivated()).toBeTruthy();
});
it('#isSummaryOpened() should return if summary tab has to be opened or not', () => {
component.datasetList = [
{
name: 'myDataset',
table_ref: 'table',
label: 'my dataset',
description: 'This is my dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: false,
summary_opened: false
},
server_link: {
server_link_enabled: false,
server_link_opened: false
},
samp: {
samp_enabled: false,
samp_opened: false
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
},
{
name: 'anotherDataset',
table_ref: 'table',
label: 'another dataset',
description: 'This is another dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: true,
server_link_opened: true
},
samp: {
samp_enabled: true,
samp_opened: true
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
}
];
component.datasetSelected = 'myDataset';
expect(component.isSummaryOpened()).toBeFalsy();
component.datasetSelected = 'anotherDataset';
expect(component.isSummaryOpened()).toBeTruthy();
});
it('#nbCriteria() should return criteria amount', () => {
component.criteriaList = [];
expect(component.nbCriteria()).toEqual(0);
component.coneSearch = { ra: 1, dec: 2, radius: 3 };
expect(component.nbCriteria()).toEqual(1);
});
it('#criteriaByFamily() should return criteria for the given family', () => {
component.attributeList = [
{
id: 2,
name: 'name_two',
label: 'label_two',
form_label: 'form_label_two',
description : 'description_two',
output_display: 1,
criteria_display: 1,
search_flag : 'SPECTRUM_1D',
search_type : 'field',
operator : '=',
type: '',
display_detail: 1,
id_criteria_family: 2
},
{
id: 1,
name: 'name_one',
label: 'label_one',
form_label: 'form_label_one',
description: 'description_one',
output_display: 2,
criteria_display: 2,
search_flag: 'ID',
search_type: 'field',
operator: '=',
type: 'integer',
display_detail: 2,
id_criteria_family: 1
}
];
component.criteriaList = [
{'id':1,'type':'field','operator':'eq','value':'one'} as FieldCriterion,
{'id':2,'type':'field','operator':'eq','value':'two'} as FieldCriterion
];
expect(component.criteriaByFamily(1).length).toEqual(1);
expect(component.criteriaByFamily(1)[0].id).toEqual(1);
});
it('#getAttribute() should return the attribute with the given id', () => {
component.attributeList = [
{
id: 2,
name: 'name_two',
label: 'label_two',
form_label: 'form_label_two',
description : 'description_two',
output_display: 1,
criteria_display: 1,
search_flag : 'SPECTRUM_1D',
search_type : 'field',
operator : '=',
type: '',
display_detail: 1
},
{
id: 1,
name: 'name_one',
label: 'label_one',
form_label: 'form_label_one',
description: 'description_one',
output_display: 2,
criteria_display: 2,
search_flag: 'ID',
search_type: 'field',
operator: '=',
type: 'integer',
display_detail: 2
}
];
expect(component.getAttribute(1).name).toBe('name_one');
});
it('#printCriterion() should return pretty criterion', () => {
const criterion: Criterion = {'id':1,'type':'field','operator':'eq','value':'one'} as FieldCriterion;
expect(component.printCriterion(criterion)).toBe('= one');
});
it('#categoryListByFamily() should return output categories for the given output family', () => {
component.outputCategoryList = [
{
id: 3,
label: 'The last output category',
display: 30,
id_output_family: 2
},
{
id: 1,
label: 'Another output category',
display: 10,
id_output_family: 1
},
{
id: 2,
label: 'Default output category',
display: 20,
id_output_family: 1
}
];
expect(component.categoryListByFamily(1).length).toEqual(2);
expect(component.categoryListByFamily(1)[0].id).toEqual(1);
expect(component.categoryListByFamily(1)[1].id).toEqual(2);
});
it('#outputListByCategory() should return outputs for the given output category', () => {
component.attributeList = [
{
id: 2,
name: 'name_two',
label: 'label_two',
form_label: 'form_label_two',
description : 'description_two',
output_display: 1,
criteria_display: 1,
search_flag : 'SPECTRUM_1D',
search_type : 'field',
operator : '=',
type: '',
display_detail: 1,
id_output_category: 2
},
{
id: 1,
name: 'name_one',
label: 'label_one',
form_label: 'form_label_one',
description: 'description_one',
output_display: 2,
criteria_display: 2,
search_flag: 'ID',
search_type: 'field',
operator: '=',
type: 'integer',
display_detail: 2,
id_output_category: 1
}
];
component.outputList = [1, 2];
expect(component.outputListByCategory(1).length).toEqual(1);
expect(component.outputListByCategory(1)[0]).toEqual(1);
});
});
......@@ -12,15 +12,15 @@ import { Component, Input } from '@angular/core';
import { Criterion, ConeSearch, getPrettyCriterion } from 'src/app/instance/store/models';
import { Dataset, Attribute, CriteriaFamily, OutputFamily, OutputCategory } from 'src/app/metamodel/models';
/**
* @class
* @classdesc Search result reminder component.
*/
@Component({
selector: 'app-reminder',
templateUrl: 'reminder.component.html',
styleUrls: ['reminder.component.scss']
})
/**
* @class
* @classdesc Search result reminder component.
*/
export class ReminderComponent {
@Input() datasetSelected: string;
@Input() datasetList: Dataset[];
......@@ -32,11 +32,21 @@ export class ReminderComponent {
@Input() coneSearch: ConeSearch;
@Input() outputList: number[];
/**
* Checks if reminder has to be display.
*
* @return boolean
*/
isSummaryActivated(): boolean {
const dataset = this.datasetList.find(dataset => dataset.name === this.datasetSelected);
return dataset.config.summary.summary_enabled;
}
/**
* Checks if reminder has to be open.
*
* @return boolean
*/
isSummaryOpened(): boolean {
const dataset = this.datasetList.find(dataset => dataset.name === this.datasetSelected);
return dataset.config.summary.summary_opened;
......
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { SampComponent } from './samp.component';
describe('[Instance][Search][Component][Result] SampComponent', () => {
let component: SampComponent;
let fixture: ComponentFixture<SampComponent>;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [SampComponent],
imports: [
AccordionModule.forRoot(),
BrowserAnimationsModule
]
});
fixture = TestBed.createComponent(SampComponent);
component = fixture.componentInstance;
});
it('should create the component', () => {
expect(component).toBeTruthy();
});
it('#isSampActivated() should return if SAMP has to be enabled or not', () => {
component.datasetList = [
{
name: 'myDataset',
table_ref: 'table',
label: 'my dataset',
description: 'This is my dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: false,
server_link_opened: true
},
samp: {
samp_enabled: false,
samp_opened: false
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
},
{
name: 'anotherDataset',
table_ref: 'table',
label: 'another dataset',
description: 'This is another dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: true,
server_link_opened: true
},
samp: {
samp_enabled: true,
samp_opened: true
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
}
];
component.datasetSelected = 'myDataset';
expect(component.isSampActivated()).toBeFalsy();
component.datasetSelected = 'anotherDataset';
expect(component.isSampActivated()).toBeTruthy();
});
it('#isSampOpened() should return if URL tab has to be opened or not', () => {
component.datasetList = [
{
name: 'myDataset',
table_ref: 'table',
label: 'my dataset',
description: 'This is my dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: false,
server_link_opened: false
},
samp: {
samp_enabled: false,
samp_opened: false
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
},
{
name: 'anotherDataset',
table_ref: 'table',
label: 'another dataset',
description: 'This is another dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: true,
server_link_opened: true
},
samp: {
samp_enabled: true,
samp_opened: true
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
}
];
component.datasetSelected = 'myDataset';
expect(component.isSampOpened()).toBeFalsy();
component.datasetSelected = 'anotherDataset';
expect(component.isSampOpened()).toBeTruthy();
});
it('#getColor() should return color button depending on SAMP registered or not', () => {
expect(component.getColor()).toEqual('red');
component.sampRegistered = true;
expect(component.getColor()).toEqual('green');
});
});
......@@ -11,15 +11,15 @@ import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from
import { Dataset } from 'src/app/metamodel/models';
/**
* @class
* @classdesc Samp component.
*/
@Component({
selector: 'app-samp',
templateUrl: 'samp.component.html',
changeDetection: ChangeDetectionStrategy.OnPush
})
/**
* @class
* @classdesc Samp component.
*/
export class SampComponent {
@Input() datasetSelected: string;
@Input() datasetList: Dataset[];
......@@ -27,21 +27,33 @@ export class SampComponent {
@Output() sampRegister: EventEmitter<{}> = new EventEmitter();
@Output() sampUnregister: EventEmitter<{}> = new EventEmitter();
/**
* Checks if SAMP has to be display.
*
* @return boolean
*/
isSampActivated(): boolean {
const dataset = this.datasetList.find(dataset => dataset.name === this.datasetSelected);
return dataset.config.samp.samp_enabled;
}
/**
* Checks if SAMP tab has to be opened.
*
* @return boolean
*/
isSampOpened(): boolean {
const dataset = this.datasetList.find(dataset => dataset.name === this.datasetSelected);
return dataset.config.samp.samp_opened;
}
/**
* Returns SAMP color button.
*
* @return boolean
*/
getColor(): string {
if (this.sampRegistered) {
return 'green';
} else {
return 'red';
}
if (this.sampRegistered) return 'green';
return 'red';
}
}
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { ToastrService } from 'ngx-toastr';
import { UrlDisplayComponent } from './url-display.component';
import { AppConfigService } from '../../../../app-config.service';
import { FieldCriterion } from '../../../store/models/criterion';
describe('[Instance][Search][Component][Result] UrlDisplayComponent', () => {
let component: UrlDisplayComponent;
let fixture: ComponentFixture<UrlDisplayComponent>;
let appConfigServiceStub = new AppConfigService();
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [UrlDisplayComponent],
imports: [
AccordionModule.forRoot(),
BrowserAnimationsModule
],
providers: [
{ provide: AppConfigService, useValue: appConfigServiceStub },
{ provide: ToastrService, useValue: { }}
]
});
fixture = TestBed.createComponent(UrlDisplayComponent);
component = fixture.componentInstance;
});
it('should create the component', () => {
expect(component).toBeTruthy();
});
it('#urlDisplayEnabled() should return if URL display has to be enabled or not', () => {
component.datasetList = [
{
name: 'myDataset',
table_ref: 'table',
label: 'my dataset',
description: 'This is my dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: false,
server_link_opened: true
},
samp: {
samp_enabled: true,
samp_opened: true
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
},
{
name: 'anotherDataset',
table_ref: 'table',
label: 'another dataset',
description: 'This is another dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: true,
server_link_opened: true
},
samp: {
samp_enabled: true,
samp_opened: true
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
}
];
component.datasetSelected = 'myDataset';
expect(component.urlDisplayEnabled()).toBeFalsy();
component.datasetSelected = 'anotherDataset';
expect(component.urlDisplayEnabled()).toBeTruthy();
});
it('#urlDisplayOpened() should return if URL tab has to be opened or not', () => {
component.datasetList = [
{
name: 'myDataset',
table_ref: 'table',
label: 'my dataset',
description: 'This is my dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: false,
server_link_opened: false
},
samp: {
samp_enabled: true,
samp_opened: true
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
},
{
name: 'anotherDataset',
table_ref: 'table',
label: 'another dataset',
description: 'This is another dataset',
display: 1,
data_path: '/path',
survey_name: 'mySurvey',
id_dataset_family: 1,
public: true,
full_data_path: '/data/path',
config: {
images: ['image1'],
survey: {
survey_enabled: true,
survey_label: 'More about this survey'
},
cone_search: {
cone_search_enabled: true,
cone_search_opened: true,
cone_search_column_ra: 1,
cone_search_column_dec: 2,
cone_search_plot_enabled: true,
cone_search_sdss_enabled: true,
cone_search_sdss_display: 1,
cone_search_background: [{ id: 1, enabled: true, display: 1 }]
},
download: {
download_enabled: true,
download_opened: true,
download_csv: true,
download_ascii: true,
download_vo: true,
download_archive: true
},
summary: {
summary_enabled: true,
summary_opened: true
},
server_link: {
server_link_enabled: true,
server_link_opened: true
},
samp: {
samp_enabled: true,
samp_opened: true
},
datatable: {
datatable_enabled: true,
datatable_opened: true,
datatable_selectable_rows: true
}
}
}
];
component.datasetSelected = 'myDataset';
expect(component.urlDisplayOpened()).toBeFalsy();
component.datasetSelected = 'anotherDataset';
expect(component.urlDisplayOpened()).toBeTruthy();
});
it('#getUrl() should construct url', () => {
appConfigServiceStub.apiUrl = 'http://test.com';
component.datasetSelected = 'dataset';
component.outputList = [1, 2, 3];
component.criteriaList = [];
let url = component.getUrl();
expect(url).toBe('http://test.com/search/dataset?a=1;2;3');
component.criteriaList = [
{ id: 1, type: 'field', operator: 'eq', value: 'fd_crit_1' } as FieldCriterion,
{ id: 2, type: 'field', operator: 'eq', value: 'fd_crit_2' } as FieldCriterion
];
url = component.getUrl();
expect(url).toBe('http://test.com/search/dataset?a=1;2;3&c=1::eq::fd_crit_1;2::eq::fd_crit_2');
component.criteriaList = [];
component.coneSearch = { ra: 4, dec: 5, radius: 6 };
url = component.getUrl();
expect(url).toBe('http://test.com/search/dataset?a=1;2;3&cs=4:5:6');
});
});
......@@ -16,15 +16,15 @@ import { Dataset } from 'src/app/metamodel/models';
import { getHost as host } from 'src/app/shared/utils';
import { AppConfigService } from 'src/app/app-config.service';
/**
* @class
* @classdesc Search result URL display component.
*/
@Component({
selector: 'app-url-display',
templateUrl: 'url-display.component.html',
changeDetection: ChangeDetectionStrategy.OnPush
})
/**
* @class
* @classdesc Search result URL display component.
*/
export class UrlDisplayComponent {
@Input() datasetSelected: string;
@Input() datasetList: Dataset[];
......@@ -44,6 +44,11 @@ export class UrlDisplayComponent {
return config.server_link.server_link_enabled;
}
/**
* Checks if URL tab has to be opened.
*
* @return boolean
*/
urlDisplayOpened(): boolean {
const config = this.datasetList.find(d => d.name === this.datasetSelected).config;
return config.server_link.server_link_opened;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment