import { inject, async, fakeAsync, tick, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
import { LineChartComponent } from './line-chart';
import { CommonService } from '../../shared/common.service';
import { Observable } from 'rxjs/Observable';
import { Http, Response } from '@angular/http';

let comp: LineChartComponent;
let fixture: ComponentFixture<LineChartComponent>;
let de: DebugElement;
let el: HTMLElement;
let commonService, spy;

class MockCommonService extends CommonService {

    constructor() {
        super(name);
    }

    getRealTimeData(): Observable<any> {
        return new Observable(observer => {
            setTimeout(() => {
                observer.next(1);
            }, 1000
            )
        });
    }
}

describe('line chart component', () => {
    beforeEach(() => {
        TestBed.configureTestingModule({
            declarations: [LineChartComponent],
            providers: [
                { provide: CommonService, useClass: MockCommonService }
            ]
        });
        fixture = TestBed.createComponent(LineChartComponent);
        comp = fixture.componentInstance;

        // commonService actually injected into the component
        commonService = fixture.debugElement.injector.get(CommonService);

    });

    it('should create LineChartComponent', () => {
        expect('true').toBe('true');
    })
});
