]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/eg2/src/app/share/util/bool.component.spec.ts
LP#1833080: have eg-bool recognize IDL bool string values
[working/Evergreen.git] / Open-ILS / src / eg2 / src / app / share / util / bool.component.spec.ts
1 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2 import { BoolDisplayComponent } from './bool.component';
3 import { Component } from '@angular/core';
4 import { ViewChild } from '@angular/core';
5
6 describe('BoolDisplayComponent', () => {
7     @Component({
8         selector: `eg-host-component`,
9         template: `<eg-bool></eg-bool>`
10     })
11     class TestHostComponent {
12         @ViewChild(BoolDisplayComponent)
13         public boolDisplayComponent: BoolDisplayComponent;
14     }
15
16     let hostComponent: TestHostComponent;
17     let fixture: ComponentFixture<TestHostComponent>;
18
19     beforeEach(async(() => {
20         TestBed.configureTestingModule({
21         declarations: [ BoolDisplayComponent, TestHostComponent ],
22         })
23         .compileComponents();
24     }));
25
26     beforeEach(() => {
27         fixture = TestBed.createComponent(TestHostComponent);
28         hostComponent = fixture.componentInstance;
29         fixture.detectChanges();
30     });
31
32     it('recognizes Javascript true', async() => {
33         hostComponent.boolDisplayComponent.value = true;
34         fixture.detectChanges();
35         expect(fixture.nativeElement.querySelector('span').innerText).toEqual('Yes');
36     });
37     it('recognizes Javascript false', async() => {
38         hostComponent.boolDisplayComponent.value = false;
39         fixture.detectChanges();
40         expect(fixture.nativeElement.querySelector('span').innerText).toEqual('No');
41     });
42     it('recognizes string "t"', async() => {
43         hostComponent.boolDisplayComponent.value = 't';
44         fixture.detectChanges();
45         expect(fixture.nativeElement.querySelector('span').innerText).toEqual('Yes');
46     });
47     it('recognizes string "f"', async() => {
48         hostComponent.boolDisplayComponent.value = 'f';
49         fixture.detectChanges();
50         expect(fixture.nativeElement.querySelector('span').innerText).toEqual('No');
51     });
52     it('recognizes ternary nul', async() => {
53         hostComponent.boolDisplayComponent.value = null;
54         hostComponent.boolDisplayComponent.ternary = true;
55         fixture.detectChanges();
56         expect(fixture.nativeElement.querySelector('span').innerText).toEqual('Unset');
57     });
58
59 });