import { TestBed, async, inject } from '@angular/core/testing';
import { User } from '../model/user';
import { USERS } from '../test-data/users';
import { UserMap } from 'app/common/user-map';


describe('UserMap', () => {
    beforeEach(() => {
      TestBed.configureTestingModule({
      });
  
    });
  
    it('can render a valid user', () => {
        const userMap = new UserMap( USERS );
        expect( userMap.findAndRenderUser('otto')).toBe('Otto Normalverbraucher');
    });

    it('can render a unknown user', () => {
        const userMap = new UserMap( USERS );
        expect( userMap.findAndRenderUser('Unknown')).toBe('[Unknown]');
    });

    it('throws an exception when not initialized', () => {
        expect( function() { new UserMap( null ); }).toThrowError( EvalError );
    });
});
  
