// import { Component, OnInit, OnDestroy } from '@angular/core'; // import { Router, ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs/Rx'; // import { DebugElement } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { tick, TestBed, async, fakeAsync, ComponentFixture } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { ManualReviewComponent } from './manual-review.component'; import { CustomerSearchStub } from '../../services/customer.service.stub'; import { CustomerService } from '../../services/customer.service'; import { userMockData, customerSearchResponse, cartData } from '../../shared/mock-data'; import { SharedService } from '../../shared/shared.service'; import { UserService } from '../../services/user.service'; import { CartService } from '../../services/cart.service'; import { LookupService } from '../../services/lookup.service'; import { CatalogService } from '../../services/catalog.service'; import { TradeinService } from '../../services/tradein.service'; import { LoggingService } from '../../services/logging.service'; import { CheckoutService } from '../../services/checkout.service'; import { HttpClient, HttpHandler } from '@angular/common/http'; // import {Conne} describe('Manual Review Component', () => { let manualReviewObject: ManualReviewComponent; let fixture: ComponentFixture; let dataStub: CustomerSearchStub; let spyNavigate: any; beforeEach(async(() => { TestBed.configureTestingModule({ providers: [ SharedService, UserService, CartService, CustomerService, LookupService, CheckoutService, CatalogService, TradeinService, LoggingService, HttpClient, HttpHandler ], imports: [ FormsModule, RouterTestingModule ], declarations: [ManualReviewComponent] }); fixture = TestBed.createComponent(ManualReviewComponent); manualReviewObject = fixture.componentInstance; dataStub = fixture.debugElement.injector.get(CustomerService); TestBed.compileComponents(); TestBed.get(SharedService); TestBed.get(CartService); TestBed.get(UserService); manualReviewObject['cart'] = cartData; manualReviewObject['user'] = userMockData; spyNavigate = spyOn(manualReviewObject.router, 'navigate'); })); // tests here it('should be created', () => { expect(manualReviewObject).toBeTruthy(); }); it('All methods are defined', async(() => { expect(manualReviewObject.refreshCreditClass).toBeDefined(); })); it('should resolve refreshCreditClass test data', fakeAsync(() => { const spy = spyOn(dataStub, 'refreshCreditClass').and.returnValue( Observable.of(customerSearchResponse) ); manualReviewObject.reviewNotes = 'This product is qualified'; manualReviewObject.refreshCreditClass(); fixture.detectChanges(); tick(500); expect(manualReviewObject.karmaTestResult).toEqual(customerSearchResponse); })); });