import { Component, OnInit, OnDestroy, Pipe } from '@angular/core'; import { Router, ActivatedRoute } from '@angular/router'; import { DebugElement } from '@angular/core'; import { FormsModule } 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 } from '../../../shared/mock-data'; import { AdditionalsComponent } from './additionals.component'; import { NpaNxxComponent } from './npa-nxx/npa-nxx.component'; import { PPUAddressComponent } from './ppu-address/ppu-address.component'; import { NumberPortingComponent } from './number-porting/number-porting.component'; import { E911AddressComponent } from './e911-address/e911-address.component'; import { HttpClient, HttpHandler } from '@angular/common/http'; describe('additionals Component', () => { let additionalsObject: AdditionalsComponent; let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ providers: [ SharedService, UserService, CartService, CustomerService, LookupService, CatalogService, TradeinService, LoggingService, CheckoutService, HttpClient, HttpHandler ], imports: [ FormsModule, RouterTestingModule ], declarations: [AdditionalsComponent, NpaNxxComponent, PPUAddressComponent, NumberPortingComponent, E911AddressComponent] }); fixture = TestBed.createComponent(AdditionalsComponent); TestBed.get(SharedService); TestBed.get(UserService); additionalsObject = fixture.componentInstance; additionalsObject.cart = cartData; })); it('should be created', () => { expect(additionalsObject).toBeTruthy(); }); it('All methods are defined', async(() => { expect(additionalsObject.getPackages).toBeDefined(); expect(additionalsObject.expandPackage).toBeDefined(); })); it('package is retrieved correctly based on package type', async(() => { let cartServiceInstance = TestBed.get(CartService); cartServiceInstance.setCart(cartData); const pckage: any = additionalsObject.getPackages('voice'); expect(pckage[0]).toEqual(cartData.packages[0]); })); it('package is retrieved correctly based on package type', async(() => { let cartServiceInstance = TestBed.get(CartService); cartServiceInstance.setCart(cartData); const pckage: any = additionalsObject.getPackages('data'); expect(pckage).toEqual([]); })); it('expandPackage toggle is working fine', async(() => { const pckage = { 'showPackage': false } expect(additionalsObject.expandPackage(pckage)).toBeFalsy(); })); });