Monday, 8 May 2017

Jasmine ignoring typescript test files?

This is my first time making a project with Jasmine, and I'm following a tutorial but right off the bat having issues.

I've installed jasmine-node, typings, and typescript. I also ran:

typings install dt~jasmine --save-dev --global 

For Jasmine typescript.

Now I have a test file in my ./spec folder that looks like this:

import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { DatePickerComponent } from '../src/components/via-datepicker.component';
import * as moment from 'moment';

const Moment: any = (<any>moment).default || moment;

describe('DatePickerComponent', () => {
  let component: DatePickerComponent;
  let fixture: ComponentFixture<DatePickerComponent>;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ DatePickerComponent ]
    })
    .compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(DatePickerComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

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

  it('should open when clicked', () => {
    fixture.debugElement.nativeElement.querySelector('body').click();
    fixture.whenStable().then(() => {
      expect(component.opened);
    });
    component.close();
  });

  describe('While open', () => {
    beforeEach(() => {
      component.open();
    });

    describe('Pressing the "Today\'s date" button', () => {
      it('should set the value of the picker to the current date and close it', () => {
        fixture.debugElement.nativeElement.querySelector('.datepicker-buttons button').click();
        expect(Moment().isSame(component.value, 'day') && Moment().isSame(component.value, 'month'));
        expect(!component.opened);
      });
    });

    describe('Clicking on a date', () => {
      it('should change the value of the picker and close it', () => {
        let oldValue: any = component.value;
        fixture.debugElement.nativeElement.querySelectorAll('.day')[10].click();
        expect(!component.opened);
        expect(!component.value.isSame(oldValue));
      });
    });

  });

});

But when I run this command:

node_modules/jasmine-node/bin/jasmine-node spec

I get this result:

Finished in 0 seconds
0 tests, 0 assertions, 0 failures, 0 skipped

So clearly my test file is being ignored. Or maybe I'm missing some library? Would I receive an error message if this were the case? The main issue here is that I'm not being given much direction as to what the issue is, other than Jasmine doesn't seem to "see" the test file for some reason.

Just trying to move forward with my project. Any advice would be greatly appreciated.



via SemperCallide

No comments:

Post a Comment