diff --git a/client/src/app/instance/documentation/components/__snapshots__/dataset-card-doc.component.spec.ts.snap b/client/src/app/instance/documentation/components/__snapshots__/dataset-card-doc.component.spec.ts.snap new file mode 100644 index 0000000000000000000000000000000000000000..e60a4c815b5045286820ef09b565b5b8e92d1096 --- /dev/null +++ b/client/src/app/instance/documentation/components/__snapshots__/dataset-card-doc.component.spec.ts.snap @@ -0,0 +1,70 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DatasetCardDocComponent should information in HTML file 1`] = ` +<app-dataset-card-doc + dataset={[Function Object]} + instanceSelected={[Function String]} + router={[Function Router]} + survey={[Function Object]} +> + <div + class="card border-0" + > + <div + class="card-body py-2" + > + <div + class="row" + > + <div + class="col" + > + <div + class="row" + > + <p + class="lead m-0 d-inline" + > + my dataset + </p> + </div> + <div + class="row" + > + <p + class="my-3" + > + This is my dataset + </p> + </div> + <div + class="row" + > + <button + class="btn btn-link p-0" + placement="bottom" + triggers="mouseenter:mouseleave" + > + <small> + More about my Survey survey + <span + class="fas fa-question-circle" + /> + </small> + </button> + </div> + </div> + <div + class="col-auto" + > + <button + class="btn btn-outline-secondary" + > + Select + </button> + </div> + </div> + </div> + </div> +</app-dataset-card-doc> +`; diff --git a/client/src/app/instance/documentation/components/dataset-card-doc.component.spec.ts b/client/src/app/instance/documentation/components/dataset-card-doc.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..7911b704f2e874d514ddb9d1873f003ac379160a --- /dev/null +++ b/client/src/app/instance/documentation/components/dataset-card-doc.component.spec.ts @@ -0,0 +1,106 @@ +import { TestBed, waitForAsync, ComponentFixture } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; + +import { PopoverModule } from 'ngx-bootstrap/popover'; + +import { DatasetCardDocComponent } from './dataset-card-doc.component'; +import { Dataset, Survey } from '../../../metamodel/models'; + +const SURVEY: Survey = { + name: 'mySurvey', + label: 'my Survey', + description: 'This is my survey', + link: 'http://my-survey.com', + manager: 'me', + id_database: 1, + nb_datasets: 2 +}; +const DATASET: Dataset = { + 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, + config: { + images: ['image1'], + 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 + } + } +}; + +describe('DatasetCardDocComponent', () => { + let component: DatasetCardDocComponent; + let fixture: ComponentFixture<DatasetCardDocComponent>; + let router: RouterTestingModule; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ + RouterTestingModule, + PopoverModule.forRoot() + ], + declarations: [DatasetCardDocComponent], + + }).compileComponents(); + fixture = TestBed.createComponent(DatasetCardDocComponent); + component = fixture.componentInstance; + router = TestBed.inject(RouterTestingModule); + + component.survey = SURVEY; + component.dataset = DATASET; + component.instanceSelected = 'myInstance'; + })); + + it('should create the component', () => { + expect(component).toBeDefined(); + }); + + // it('#selectDataset() should navigate to the right page', () => { + // const spy = jest.spyOn(router, 'navigate'); + // component.selectDataset('myDataset'); + // expect(spy).toHaveBeenCalledTimes(1); + // expect(spy).toHaveBeenCalledWith(['/instance/myInstance/documentation/myDataset']); + // }); + + it('should display information in HTML file', () => { + fixture.detectChanges(); + expect(fixture).toMatchSnapshot(); + }); +}); diff --git a/client/src/app/instance/documentation/components/dataset-card-doc.component.ts b/client/src/app/instance/documentation/components/dataset-card-doc.component.ts index adcfcf400fa4169fb562d3f332f39c049352b3ec..58b4592f754e27105da63dc70f7822a0ba5f49a5 100644 --- a/client/src/app/instance/documentation/components/dataset-card-doc.component.ts +++ b/client/src/app/instance/documentation/components/dataset-card-doc.component.ts @@ -28,7 +28,12 @@ export class DatasetCardDocComponent { constructor(private router: Router) { } - selectDataset(datasetName: string) { + /** + * Navigates to the documentation page for the given dataset. + * + * @param {string} datasetName - The dataset name. + */ + selectDataset(datasetName: string): void { this.router.routeReuseStrategy.shouldReuseRoute = () => false; this.router.navigate([`/instance/${this.instanceSelected}/documentation/${datasetName}`]); } diff --git a/client/src/app/instance/documentation/components/output-list.component.spec.ts b/client/src/app/instance/documentation/components/output-list.component.spec.ts index c3c72d48a2567012dab7544e2cca41d84fdbb4c5..967a841d48719f819259fd36fff2c43bafdeae8d 100644 --- a/client/src/app/instance/documentation/components/output-list.component.spec.ts +++ b/client/src/app/instance/documentation/components/output-list.component.spec.ts @@ -52,7 +52,7 @@ describe('OutputListComponent', () => { expect(component).toBeDefined(); }); - it('should information in HTML file', () => { + it('should display information in HTML file', () => { component.datasetSelected = 'myTestDataset'; component.attributeList = ATTRIBUTE_LIST; fixture.detectChanges();