UNPKG

novo-elements

Version:

Bullhorn's NOVO Element Repository for Angular 2

136 lines (130 loc) 5.68 kB
// NG2 import { TestBed, async } from '@angular/core/testing'; // APP import { EntityPickerResult } from './EntityPickerResults'; import { NovoLabelService } from '../../../../services/novo-label-service'; import { NovoLoadingElement } from '../../../loading/Loading'; import { NovoListElement, NovoListItemElement, NovoItemAvatarElement, NovoItemHeaderElement, NovoItemTitleElement, NovoItemContentElement } from '../../../list/List'; describe('Elements: EntityPickerResult', () => { let fixture; let component; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ EntityPickerResult, NovoLoadingElement, NovoListElement, NovoListItemElement, NovoItemAvatarElement, NovoItemContentElement, NovoItemHeaderElement, NovoItemTitleElement ], providers: [ { provide: NovoLabelService, useClass: NovoLabelService } ] }).compileComponents(); fixture = TestBed.createComponent(EntityPickerResult); component = fixture.debugElement.componentInstance; })); it('should initialize correctly', () => { expect(component).toBeDefined(); }); describe('Method: getIconForResult(result)', () => { it('should return the right icon name for ClientContact', () => { expect(component.getIconForResult({ searchEntity: 'ClientContact' })).toBe('person contact'); }); it('should return the right icon name for ClientCorporation', () => { expect(component.getIconForResult({ searchEntity: 'ClientCorporation' })).toBe('company'); }); it('should return the right icon name for Opportunity', () => { expect(component.getIconForResult({ searchEntity: 'Opportunity' })).toBe('opportunity'); }); it('should return the right icon name for Candidate', () => { expect(component.getIconForResult({ searchEntity: 'Candidate' })).toBe('candidate'); }); it('should return the right icon name for Lead', () => { expect(component.getIconForResult({ searchEntity: 'Lead' })).toBe('lead'); }); it('should return the right icon name for JobOrder', () => { expect(component.getIconForResult({ searchEntity: 'JobOrder' })).toBe('job'); }); it('should return the right icon name for Placement', () => { expect(component.getIconForResult({ searchEntity: 'Placement' })).toBe('star placement'); }); it('should return empty string for unrecognized entity names', () => { expect(component.getIconForResult({ searchEntity: 'Unknown' })).toBe(''); }); }); describe('Method: getNameForResult(result)', () => { it('should return a correctly formatted name for ClientContact', () => { let input = { searchEntity: 'ClientContact', firstName: 'James', lastName: 'Bond' }; expect(component.getNameForResult(input)).toBe('James Bond'); }); it('should return a correctly formatted name for ClientCorporation', () => { let input = { searchEntity: 'ClientCorporation', name: 'Bottles, Inc.' }; expect(component.getNameForResult(input)).toBe('Bottles, Inc.'); }); it('should return a correctly formatted name for Opportunity', () => { let input = { searchEntity: 'Opportunity', title: 'Lead Bottlemaker' }; expect(component.getNameForResult(input)).toBe('Lead Bottlemaker'); }); it('should return a correctly formatted name for Lead', () => { let input = { searchEntity: 'Lead', firstName: 'James', lastName: 'Bond' }; expect(component.getNameForResult(input)).toBe('James Bond'); }); it('should return a correctly formatted name for Candidate', () => { let input = { searchEntity: 'Candidate', firstName: 'James', lastName: 'Bond' }; expect(component.getNameForResult(input)).toBe('James Bond'); }); it('should return a correctly formatted name for Job Order', () => { let input = { searchEntity: 'JobOrder', title: 'Mock Job Title' }; expect(component.getNameForResult(input)).toBe('Mock Job Title'); }); it('should return a correctly formatted name for Placement', () => { let input = { searchEntity: 'Placement', candidate: { firstName: 'James', lastName: 'Bond' } }; expect(component.getNameForResult(input)).toBe('James Bond'); }); it('should return the name when present for an unknown entity', () => { let input = { searchEntity: 'Unknown', name: 'James Bond' }; expect(component.getNameForResult(input)).toBe('James Bond'); }); it('should return an empty string when name is not present for an unknown entity', () => { let input = { searchEntity: 'Unknown', title: 'Mock Job Title' }; expect(component.getNameForResult(input)).toBe(''); }); }); });