import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DownloadSectionComponent } from './download.component'; import { DATASET_LIST, CRITERIA_LIST } from '../../../../settings/test-data'; import { Dataset } from 'src/app/metamodel/model'; import { ConeSearch } from '../../store/model'; import { environment } from "../../../../environments/environment"; describe('[Search][Result] Component: DownloadSectionComponent', () => { let component: DownloadSectionComponent; let fixture: ComponentFixture<DownloadSectionComponent>; beforeEach(() => { TestBed.configureTestingModule({ declarations: [DownloadSectionComponent] }); fixture = TestBed.createComponent(DownloadSectionComponent); component = fixture.componentInstance; }); it('should create the component', () => { expect(component).toBeTruthy(); }); it('#getDataset() should return dataset object', () => { component.datasetList = DATASET_LIST; component.datasetName = 'cat_1'; const dataset: Dataset = component.getDataset(); expect(dataset.name).toBe('cat_1'); expect(dataset.label).toBe('Cat 1'); }); it('#getUrl(format) should construct url with format parameter', () => { component.datasetName = 'dataset'; component.outputList = [1, 2, 3]; component.criteriaList = CRITERIA_LIST; component.coneSearch = { ra: 4, dec: 5, radius: 6 } as ConeSearch; const url = component.getUrl('csv'); expect(url).toBe(environment.apiUrl + '/search/dataset?a=1;2;3&c=1::eq::fd_crit_1;2::eq::fd_crit_2&cs=4:5:6&f=csv'); }); });