Skip to content
This repository has been archived by the owner on Aug 25, 2020. It is now read-only.

Commit

Permalink
Merge pull request #73 from LabShare/bigfixes
Browse files Browse the repository at this point in the history
chore(test): added tests for nav
  • Loading branch information
artemnih committed Dec 10, 2018
2 parents 37f652b + 454fb5b commit 79e794f
Show file tree
Hide file tree
Showing 12 changed files with 113 additions and 72 deletions.
2 changes: 1 addition & 1 deletion dist/ngx-forms.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
<span class="required-icon" [hidden]="!field.required">*</span>
</label>
<div class="col-md-10">
<input type="text" class="form-control" [attr.placeholder]="field.placeholder" [formControlName]="field.name">
<input type="checkbox" class="form-control" [formControlName]="field.name">
</div>
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ describe('FormCheckboxComponent', () => {
});

it('ensures component is rendered', () => {
directiveEl = fixture.debugElement.query(By.css('input'));
expect(directiveEl.nativeElement.value.toString()).toEqual(value.toString());
let inputs = fixture.debugElement.queryAll(By.css('input'));
expect(inputs.length).toBeGreaterThan(0);
});

it('ensures required asterix appears', () => {
Expand Down
53 changes: 53 additions & 0 deletions src/nav/components/form-nav.component.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import { FormNavComponent } from './form-nav.component';
import { ComponentFixture, TestBed, inject } from "@angular/core/testing";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { APP_BASE_HREF, CommonModule } from '@angular/common';
import { Component, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { FormNavService } from '../services/form-nav.service';
import { FormNavModule } from '../nav-app';
import { By } from "@angular/platform-browser";


describe('FormNavComponent', () => {
let component: FormNavComponent;
let fixture: ComponentFixture<FormNavComponent>;
let formNavService: FormNavService;
let groups = [{ hidden: false, label: 'test1' }, { hidden: false, label: 'test2' }, { hidden: false, label: 'test3' }];

beforeEach(() => {
TestBed.configureTestingModule({
imports: [
ReactiveFormsModule,
FormsModule,
FormNavModule
],
providers: [
{ provide: APP_BASE_HREF, useValue: '/' }
]
}).compileComponents();
});

beforeEach(() => {
fixture = TestBed.createComponent(FormNavComponent);
component = fixture.componentInstance;
formNavService = TestBed.get(FormNavService);
groups.forEach(g => formNavService.add(g));
fixture.detectChanges();
});

it('should be created', () => {
expect(component).toBeTruthy();
});

it('should render number of links equal to number of groups', () => {
let links = fixture.debugElement.queryAll(By.css('a'));
expect(links.length).toEqual(groups.length);
});

it('should call service.reset', () => {
spyOn(formNavService, 'reset');
fixture.destroy();
expect(formNavService.reset).toHaveBeenCalled();
});

});
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Component, Input, OnDestroy } from '@angular/core';
import { FormNavService } from './form-nav.service';
import { FormNavService } from '../services/form-nav.service';

@Component({
selector: 'form-nav',
Expand All @@ -8,7 +8,6 @@ import { FormNavService } from './form-nav.service';
})

export class FormNavComponent implements OnDestroy {
@Input() public config;
public ref = { groups: [] };

constructor(private ns: FormNavService) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Directive, OnInit, ElementRef, Input } from '@angular/core';
import { FormNavService } from './form-nav.service';
import { FormNavService } from '../services/form-nav.service';

@Directive({
selector: '[navTab]'
Expand Down
62 changes: 0 additions & 62 deletions src/nav/form-nav.component.spec.ts

This file was deleted.

6 changes: 3 additions & 3 deletions src/nav/nav-app.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { FormNavComponent } from './form-nav.component';
import { NavDirective } from './form-nav.directive';
import { FormNavService } from './form-nav.service';
import { FormNavComponent } from './components/form-nav.component';
import { NavDirective } from './directives/form-nav.directive';
import { FormNavService } from './services/form-nav.service';
import { CommonModule } from '@angular/common';

@NgModule({
Expand Down
47 changes: 47 additions & 0 deletions src/nav/services/form-nav.service.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import { FormNavService } from './form-nav.service';

describe('Service: FormNavService', () => {
let service: FormNavService;
let group = { hidden: false };

beforeEach(() => {
service = new FormNavService();
});

it('should return array with one group', () => {
service.add(group);
expect(service.getAllGroups()).toEqual([group]);
});

it('should return array with several groups. All but first should be set to hidden', () => {
service.add({ hidden: false });
service.add({ hidden: false });
service.add({ hidden: false });
expect(service.getAllGroups()).toEqual([{ hidden: false }, { hidden: true }, { hidden: true }]);
});

describe('reset()', () => {
it('should reset all groups to visible and set counter to 0', () => {
let gr = [{ hidden: false }, { hidden: false }, { hidden: false }];
service.add(gr[0]);
service.add(gr[1]);
service.add(gr[2]);
service.reset();
expect(gr).toEqual([{ hidden: false }, { hidden: false }, { hidden: false }]);
expect(service.selected).toEqual(0);
});
});

describe('select()', () => {
it('select last group and set it to visible, others should be hidden', () => {
let gr = [{ hidden: false }, { hidden: false }, { hidden: false }];
service.add(gr[0]);
service.add(gr[1]);
service.add(gr[2]);
service.select(2);
expect(gr).toEqual([{ hidden: true }, { hidden: true }, { hidden: false }]);
expect(service.selected).toEqual(2);
});
});

});
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,8 @@ export class FormNavService {
this.watchers.push(ref);
}

getAllGroups(): any[] {
return this.groups;
}

}

0 comments on commit 79e794f

Please sign in to comment.