import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { AccordionModule } from 'ngx-bootstrap/accordion'; import { ToastrModule } from 'ngx-toastr'; import { ToastrService } from 'ngx-toastr'; import { UrlDisplaySectionComponent } from './url-display.component'; import { CRITERIA_LIST } from '../../../../settings/test-data'; import { ConeSearch } from '../../store/model'; import { environment } from "../../../../environments/environment"; describe('[Search][Result] Component: UrlDisplayComponent', () => { let component: UrlDisplaySectionComponent; let fixture: ComponentFixture<UrlDisplaySectionComponent>; beforeEach(() => { TestBed.configureTestingModule({ declarations: [UrlDisplaySectionComponent], imports: [AccordionModule.forRoot(), BrowserAnimationsModule, ToastrModule.forRoot()], providers: [ToastrService] }); fixture = TestBed.createComponent(UrlDisplaySectionComponent); component = fixture.componentInstance; }); it('should create the component', () => { expect(component).toBeTruthy(); }); it('#getUrl() should construct url', () => { component.datasetName = 'dataset'; component.outputList = [1, 2, 3]; component.criteriaList = []; component.coneSearch = null; let url = component.getUrl(); expect(url).toBe(environment.apiUrl + '/search/dataset?a=1;2;3'); component.criteriaList = CRITERIA_LIST; url = component.getUrl(); expect(url).toBe(environment.apiUrl + '/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 } as ConeSearch; url = component.getUrl(); expect(url).toBe(environment.apiUrl + '/search/dataset?a=1;2;3&cs=4:5:6'); }); });