// import { Component, OnInit, OnDestroy, Pipe } from '@angular/core'; // import { Router, ActivatedRoute } from '@angular/router'; // import { DebugElement } from '@angular/core'; import { FormsModule, FormBuilder } from '@angular/forms'; import { Observable } from 'rxjs/Rx'; import { TestBed, async, fakeAsync, ComponentFixture } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { MockBackend } from '@angular/http/testing'; import { SharedService } from '../../shared/shared.service'; import { CartService } from '../../services/cart.service'; import { CustomerService } from '../../services/customer.service'; import { CheckoutService } from '../../services/checkout.service'; import { cartData, customerSearchResponse, packageData, packagesData, storeId } from '../../shared/mock-data'; import { ConfirmComponent } from './confirm.component'; import { HardGoodsComponent } from './hard-goods/hard-goods.component'; import { SoftGoodsComponent } from './soft-goods/soft-goods.component'; import { SummaryComponent } from '../summary/summary.component'; import { ProductsComponent } from '../../shared/products/products.component'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { HttpClient, HttpHandler } from '@angular/common/http'; import { UserService } from '../../services/user.service'; import { LookupService } from '../../services/lookup.service'; import { TradeinService } from '../../services/tradein.service'; import { CatalogService } from '../../services/catalog.service'; import { LoggingService } from '../../services/logging.service'; describe('Confirm Component', () => { let confirmObject: ConfirmComponent; let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ providers: [ MockBackend, SharedService, CartService, CustomerService, CheckoutService, UserService, LookupService, TradeinService, LoggingService, FormBuilder, CatalogService, HttpClient, HttpHandler ], imports: [ FormsModule, HttpClientTestingModule, RouterTestingModule ], declarations: [ConfirmComponent, HardGoodsComponent, SoftGoodsComponent, SummaryComponent, ProductsComponent] }); fixture = TestBed.createComponent(ConfirmComponent); TestBed.get(SharedService); TestBed.get(CartService); TestBed.get(CustomerService); confirmObject = fixture.componentInstance; confirmObject.cartService.cart = cartData; confirmObject.cart = cartData; confirmObject.storeId = storeId; confirmObject.customer = customerSearchResponse; })); it('should be created', () => { expect(confirmObject).toBeTruthy(); }); it('All methods are defined', async(() => { expect(confirmObject.getCustomerProfile).toBeDefined(); })); it('should resolve get Customer Profile test data', fakeAsync(() => { const customerStub = fixture.debugElement.injector.get(CustomerService); const spy = spyOn(customerStub, 'getCustomerProfile').and.returnValue( Observable.of(customerSearchResponse) ); confirmObject.getCustomerProfile(12345); expect(confirmObject.customer).toEqual(customerSearchResponse); })); });