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

Tests for progress-bar => DONE

parent e27b23f5
No related branches found
No related tags found
2 merge requests!813.1,!72Tests integration
import { ProgressComponent } from './progress.component'; import { ProgressBarComponent } from './progress-bar.component';
import { DatasetTabsComponent } from './dataset/dataset-tabs.component'; import { DatasetTabsComponent } from './dataset/dataset-tabs.component';
import { DatasetCardComponent } from './dataset/dataset-card.component'; import { DatasetCardComponent } from './dataset/dataset-card.component';
import { CriteriaTabsComponent } from './criteria/criteria-tabs.component'; import { CriteriaTabsComponent } from './criteria/criteria-tabs.component';
...@@ -13,7 +13,7 @@ import { DatatableComponent } from './result/datatable.component'; ...@@ -13,7 +13,7 @@ import { DatatableComponent } from './result/datatable.component';
import { RendererComponents } from './result/renderer'; import { RendererComponents } from './result/renderer';
export const dummiesComponents = [ export const dummiesComponents = [
ProgressComponent, ProgressBarComponent,
DatasetTabsComponent, DatasetTabsComponent,
DatasetCardComponent, DatasetCardComponent,
CriteriaTabsComponent, CriteriaTabsComponent,
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
Dataset Dataset
</a> </a>
</li> </li>
<li class="nav-item" [ngClass]="{'active': currentStep === 'criteria', 'checked': criteriaStepChecked}"> <li id="criteriaStep" class="nav-item" [ngClass]="{'active': currentStep === 'criteria', 'checked': criteriaStepChecked}">
<a *ngIf="datasetName" class="nav-link" [ngClass]="{'disabled': !datasetName}" <a *ngIf="datasetName" class="nav-link" [ngClass]="{'disabled': !datasetName}"
routerLink="/search/criteria/{{datasetName}}" [queryParams]="queryParams" data-toggle="tab"> routerLink="/search/criteria/{{datasetName}}" [queryParams]="queryParams" data-toggle="tab">
<div class="icon-circle"> <div class="icon-circle">
......
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { By } from '@angular/platform-browser';
import { ProgressBarComponent } from './progress-bar.component';
describe('[Search] Component: ProgressBarComponent', () => {
let component: ProgressBarComponent;
let fixture: ComponentFixture<ProgressBarComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ProgressBarComponent],
imports: [RouterTestingModule]
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ProgressBarComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create the component', () => {
expect(component).toBeTruthy();
});
it('#getStepClass() should return correct step class', () => {
let style = component.getStepClass();
expect(style).toBe('datasetStep');
component.currentStep = 'dataset';
style = component.getStepClass();
expect(style).toBe('datasetStep');
component.currentStep = 'criteria';
style = component.getStepClass();
expect(style).toBe('criteriaStep');
component.currentStep = 'output';
style = component.getStepClass();
expect(style).toBe('outputStep');
component.currentStep = 'result';
style = component.getStepClass();
expect(style).toBe('resultStep');
});
// TODO: Make test working
// it('should apply the correct class', () => {
// component.currentStep = 'dataset';
// fixture.detectChanges();
// let style = fixture.debugElement.query(By.css('#criteriaStep')).nativeElement.getAttribute('class');
// expect(style).not.toContain('active');
// component.currentStep = 'criteria';
// fixture.detectChanges();
// style = fixture.debugElement.query(By.css('#criteriaStep')).nativeElement.getAttribute('class');
// console.log(style);
// expect(style).toContain('active');
// component.criteriaStepChecked = true;
// fixture.detectChanges();
// style = fixture.debugElement.query(By.css('#criteriaStep')).nativeElement.getAttribute('class');
// expect(style).toContain('checked');
// const template = fixture.nativeElement;
// expect(template.querySelector('#criteriaStep')).toBeTruthy();
// });
});
import { Component, Input, ChangeDetectionStrategy } from '@angular/core'; import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
@Component({ @Component({
selector: 'app-progress', selector: 'app-progress-bar',
templateUrl: 'progress.component.html', templateUrl: 'progress-bar.component.html',
styleUrls: ['progress.component.css'], styleUrls: ['progress-bar.component.css'],
changeDetection: ChangeDetectionStrategy.OnPush changeDetection: ChangeDetectionStrategy.OnPush
}) })
export class ProgressComponent { export class ProgressBarComponent {
@Input() currentStep: string; @Input() currentStep: string;
@Input() datasetName: string; @Input() datasetName: string;
@Input() criteriaStepChecked: boolean; @Input() criteriaStepChecked: boolean;
......
import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
import { ModalModule } from 'ngx-bootstrap'; import { ModalModule } from 'ngx-bootstrap';
import { BsModalService } from 'ngx-bootstrap/modal'; import { BsModalService } from 'ngx-bootstrap/modal';
import { ThumbnailComponent } from './thumbnail.component'; import { ThumbnailComponent } from './thumbnail.component';
describe('[Search][Result][Renderer] Component: ThumbnailComponent', () => { describe('[Search][Result][Renderer] Component: ThumbnailComponent', () => {
......
<div class="mx-5 px-5"> <div class="mx-5 px-5">
<app-progress <app-progress-bar
[currentStep]="currentStep | async" [currentStep]="currentStep | async"
[datasetName]="datasetName | async" [datasetName]="datasetName | async"
[criteriaStepChecked]="criteriaStepChecked | async" [criteriaStepChecked]="criteriaStepChecked | async"
[outputStepChecked]="outputStepChecked | async" [outputStepChecked]="outputStepChecked | async"
[resultStepChecked]="resultStepChecked | async" [resultStepChecked]="resultStepChecked | async"
[queryParams]="queryParams | async"> [queryParams]="queryParams | async">
</app-progress> </app-progress-bar>
<router-outlet></router-outlet> <router-outlet></router-outlet>
</div> </div>
\ No newline at end of file
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