import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { AccordionModule } from 'ngx-bootstrap'; import { ToastrModule } from 'ngx-toastr'; import { ToastrService } from 'ngx-toastr'; import { UrlDisplayComponent } from './url-display.component'; import { CRITERIA_LIST } from '../../../../settings/test-data'; describe('[Search][Result] Component: UrlDisplayComponent', () => { let component: UrlDisplayComponent; let fixture: ComponentFixture<UrlDisplayComponent>; beforeEach(() => { TestBed.configureTestingModule({ declarations: [UrlDisplayComponent], imports: [AccordionModule.forRoot(), BrowserAnimationsModule, ToastrModule.forRoot()], providers: [ToastrService] }); fixture = TestBed.createComponent(UrlDisplayComponent); component = fixture.componentInstance; }); it('should create the component', () => { expect(component).toBeTruthy(); }); it('#getUrl() should construct url', () => { component.apiPath = 'http://test.com'; component.instanceName = 'instance'; component.datasetName = 'dataset'; component.outputList = [1, 2, 3]; component.criteriaList = []; let url = component.getUrl(); console.log(url); expect(url).toBe('http://test.com/search/dataset?a=1;2;3'); component.criteriaList = CRITERIA_LIST; 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'); }); });