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 { DatasetCardComponent } from './dataset/dataset-card.component';
import { CriteriaTabsComponent } from './criteria/criteria-tabs.component';
......@@ -13,7 +13,7 @@ import { DatatableComponent } from './result/datatable.component';
import { RendererComponents } from './result/renderer';
export const dummiesComponents = [
ProgressComponent,
ProgressBarComponent,
DatasetTabsComponent,
DatasetCardComponent,
CriteriaTabsComponent,
......
......@@ -18,7 +18,7 @@
Dataset
</a>
</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}"
routerLink="/search/criteria/{{datasetName}}" [queryParams]="queryParams" data-toggle="tab">
<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';
@Component({
selector: 'app-progress',
templateUrl: 'progress.component.html',
styleUrls: ['progress.component.css'],
selector: 'app-progress-bar',
templateUrl: 'progress-bar.component.html',
styleUrls: ['progress-bar.component.css'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class ProgressComponent {
export class ProgressBarComponent {
@Input() currentStep: string;
@Input() datasetName: string;
@Input() criteriaStepChecked: boolean;
......
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { ModalModule } from 'ngx-bootstrap';
import { BsModalService } from 'ngx-bootstrap/modal';
import { ThumbnailComponent } from './thumbnail.component';
describe('[Search][Result][Renderer] Component: ThumbnailComponent', () => {
......
<div class="mx-5 px-5">
<app-progress
<app-progress-bar
[currentStep]="currentStep | async"
[datasetName]="datasetName | async"
[criteriaStepChecked]="criteriaStepChecked | async"
[outputStepChecked]="outputStepChecked | async"
[resultStepChecked]="resultStepChecked | async"
[queryParams]="queryParams | async">
</app-progress>
</app-progress-bar>
<router-outlet></router-outlet>
</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