51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
// #docregion
 | 
						|
// #docplaster
 | 
						|
// #docregion base-hero-spec
 | 
						|
import { Hero } from './hero';
 | 
						|
 | 
						|
describe('Hero', () => {
 | 
						|
 | 
						|
  it('has name', () => {
 | 
						|
    let hero: Hero = {id: 1, name: 'Super Cat'};
 | 
						|
    expect(hero.name).toEqual('Super Cat');
 | 
						|
  });
 | 
						|
 | 
						|
  it('has id', () => {
 | 
						|
    let hero: Hero = {id: 1, name: 'Super Cat'};
 | 
						|
    expect(hero.id).toEqual(1);
 | 
						|
  });
 | 
						|
  // #enddocregion base-hero-spec
 | 
						|
 | 
						|
 | 
						|
  /* more tests we could run
 | 
						|
 | 
						|
  it('can clone itself', () => {
 | 
						|
    let hero = new Hero(1, 'Super Cat');
 | 
						|
    let clone = hero.clone();
 | 
						|
    expect(hero).toEqual(clone);
 | 
						|
  });
 | 
						|
 | 
						|
  it('has expected generated id when id not given in the constructor', () => {
 | 
						|
    Hero.setNextId(100); // reset the `nextId` seed
 | 
						|
    let hero = new Hero(null, 'Cool Kitty');
 | 
						|
    expect(hero.id).toEqual(100);
 | 
						|
  });
 | 
						|
 | 
						|
  it('has expected generated id when id=0 in the constructor', () => {
 | 
						|
    Hero.setNextId(100);
 | 
						|
    let hero = new Hero(0, 'Cool Kitty');
 | 
						|
    expect(hero.id).toEqual(100);
 | 
						|
  })
 | 
						|
 | 
						|
  it('increments generated id for each new Hero w/o an id', () => {
 | 
						|
    Hero.setNextId(100);
 | 
						|
    let hero1 = new Hero(0, 'Cool Kitty');
 | 
						|
    let hero2 = new Hero(null, 'Hip Cat');
 | 
						|
    expect(hero2.id).toEqual(101);
 | 
						|
  });
 | 
						|
 | 
						|
  */
 | 
						|
  // #docregion base-hero-spec
 | 
						|
});
 | 
						|
// #enddocregion base-hero-spec
 |