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 { inject, tick, TestBed, getTestBed, async, fakeAsync, ComponentFixture } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { SharedService } from '../../../shared/shared.service'; import { UserService } from '../../../services/user.service'; import { CartService } from '../../../services/cart.service'; import { CustomerService } from '../../../services/customer.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 { cartData, customerSearchResponse, packageData, packagesData } from '../../../shared/mock-data'; import { ORDER_STATUS } from '../../../shared/form.constants'; import { CartServiceStub } from '../../../services/cart.service.stub'; import { shippingData } from '../../../shared/spec.constants'; import { SoftGoodsComponent } from './soft-goods.component'; import { HttpClient, HttpHandler } from '@angular/common/http'; describe('Soft goods Component', () => { let softGoodsObject: SoftGoodsComponent; let fixture: ComponentFixture; let dataStub: CartServiceStub; beforeEach(async(() => { TestBed.configureTestingModule({ providers: [ SharedService, UserService, CartService, CustomerService, LookupService, CatalogService, TradeinService, LoggingService, CheckoutService, FormBuilder, HttpClient, HttpHandler ], imports: [ FormsModule, RouterTestingModule ], declarations: [SoftGoodsComponent] }); fixture = TestBed.createComponent(SoftGoodsComponent); TestBed.get(SharedService); TestBed.get(UserService); TestBed.get(CartService); softGoodsObject = fixture.componentInstance; softGoodsObject.cart = cartData softGoodsObject.customer = customerSearchResponse; dataStub = fixture.debugElement.injector.get(CartService); })); it('should be created', () => { expect(softGoodsObject).toBeTruthy(); }); it('All methods are defined', async(() => { expect(softGoodsObject.getStatusLabel).toBeDefined(); })); it('should return matching status', async(() => { softGoodsObject.orderStatusItems = ORDER_STATUS; expect(softGoodsObject.getStatusLabel('P')).toEqual('Work in Progress'); })); it('formatting phone number is working fine', async(() => { expect(softGoodsObject.mobileNumber('1234567890')).toEqual('123-456-7890'); })); });