message: refactor(LoginForm): remove testbed
diff: import {
  - Component,
  - ViewChild,
  -} from '@angular/core';
  -import { ReactiveFormsModule } from '@angular/forms';
  -import { FlexLayoutModule } from '@angular/flex-layout';
  -import {
  - TestBed,
  - async,
  fakeAsync,
  tick,
  } from '@angular/core/testing';
  -import { By } from '@angular/platform-browser';
  -import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
  -
  -import { TsInputModule } from './../input/input.module';
  -import { TsCheckboxModule } from './../checkbox/checkbox.module';
  -import { TsButtonModule } from './../button/button.module';
  -import { TsSpacingModule } from './../spacing/spacing.module';
  -import { TsLinkModule } from './../link/link.module';
  -import { TsLoginFormComponent } from './login-form.component';
  +import { FormBuilder } from '@angular/forms';
  +import { TsLoginFormComponent } from './login-form.component';
  -@Component({
  - template: `
  - <div>
  - <ts-login-form>
  - </ts-login-form>
  - </div>
  - `,
  -})
  -class TestHostComponent {
  - @ViewChild(TsLoginFormComponent)
  - public loginForm: TsLoginFormComponent;
  -}
  describe(`TsLoginFormComponent`, () => {
  - beforeEach(async(() => {
  - TestBed.configureTestingModule({
  - imports: [
  - BrowserAnimationsModule,
  - ReactiveFormsModule,
  - FlexLayoutModule,
  - TsInputModule,
  - TsCheckboxModule,
  - TsButtonModule,
  - TsSpacingModule,
  - TsLinkModule,
  - ],
  - declarations: [
  - TsLoginFormComponent,
  - TestHostComponent,
  - ],
  - })
  - .overrideComponent(TsLoginFormComponent, {
  - set: {
  - template: '',
  - templateUrl: null,
  - }
  - })
  - .compileComponents().then(() => {
  - this.fixture = TestBed.createComponent(TestHostComponent);
  - this.hostComponent = this.fixture.componentInstance;
  - this.component = this.hostComponent.loginForm;
  + beforeEach(() => {
  + this.component = new TsLoginFormComponent(new FormBuilder());
  });
  - }));
  it(`should exist`, () => {
  - this.fixture.detectChanges();
  -
  expect(this.component).toBeTruthy();
  });
  @@ -78,7 +23,6 @@ describe(`TsLoginFormComponent`, () => {
  it(`should reset the form if 'triggerFormReset' was the passed in change`, () => {
  this.component.resetForm = jasmine.createSpy('resetForm');
  - this.fixture.detectChanges();
  this.component.ngOnChanges({
  triggerFormReset: {
  currentValue: {},
  @@ -91,7 +35,6 @@ describe(`TsLoginFormComponent`, () => {
  it(`should not reset the form if 'resetForm' was not passed in with changes`, () => {
  this.component.resetForm = jasmine.createSpy('resetForm');
  - this.fixture.detectChanges();
  this.component.ngOnChanges({
  foo: 'bar',
  });
  @@ -105,7 +48,6 @@ describe(`TsLoginFormComponent`, () => {
  describe(`getControl()`, () => {
  it(`should return a form control`, () => {
  - this.fixture.detectChanges();
  // Seed the value so that we can verify we grabbed the correct control below
  this.component.loginForm.patchValue({
  password: 'foo',
  @@ -123,7 +65,6 @@ describe(`TsLoginFormComponent`, () => {
  [],
  ],
  });
  - this.fixture.detectChanges();
  // Seed the value so that we can verify we grabbed the correct control below
  this.component.testForm.patchValue({
  myInput: 'bar',
  @@ -139,7 +80,6 @@ describe(`TsLoginFormComponent`, () => {
  describe(`resetForm()`, () => {
  it(`should reset all inputs to their initial value`, fakeAsync(() => {
  - this.fixture.detectChanges();
  this.component.loginForm.patchValue({
  email: 'foo',
  password: 'bar',
  