Best JavaScript code snippet using ng-mocks
input.directive.ts
Source:input.directive.ts
1/**2 * Use of this source code is governed by an MIT-style license that can be3 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE4 */5import { Direction, Directionality } from '@angular/cdk/bidi';6import { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, Optional, Renderer2, Self, SimpleChanges } from '@angular/core';7import { NgControl } from '@angular/forms';8import { BooleanInput, NzSizeLDSType } from 'ng-zorro-antd/core/types';9import { InputBoolean } from 'ng-zorro-antd/core/util';10import { Subject } from 'rxjs';11import { filter, takeUntil } from 'rxjs/operators';12@Directive({13 selector: 'input[nz-input],textarea[nz-input]',14 exportAs: 'nzInput',15 host: {16 '[class.ant-input-disabled]': 'disabled',17 '[class.ant-input-borderless]': 'nzBorderless',18 '[class.ant-input-lg]': `nzSize === 'large'`,19 '[class.ant-input-sm]': `nzSize === 'small'`,20 '[attr.disabled]': 'disabled || null',21 '[class.ant-input-rtl]': `dir=== 'rtl'`22 }23})24export class NzInputDirective implements OnChanges, OnInit, OnDestroy {25 static ngAcceptInputType_disabled: BooleanInput;26 static ngAcceptInputType_nzBorderless: BooleanInput;27 @Input() @InputBoolean() nzBorderless = false;28 @Input() nzSize: NzSizeLDSType = 'default';29 @Input()30 get disabled(): boolean {31 if (this.ngControl && this.ngControl.disabled !== null) {32 return this.ngControl.disabled;33 }34 return this._disabled;35 }36 set disabled(value: boolean) {37 this._disabled = value != null && `${value}` !== 'false';38 }39 _disabled = false;40 disabled$ = new Subject<boolean>();41 dir: Direction = 'ltr';42 private destroy$ = new Subject<void>();43 constructor(44 @Optional() @Self() public ngControl: NgControl,45 renderer: Renderer2,46 elementRef: ElementRef,47 @Optional() private directionality: Directionality48 ) {49 renderer.addClass(elementRef.nativeElement, 'ant-input');50 }51 ngOnInit(): void {52 if (this.ngControl) {53 this.ngControl.statusChanges54 ?.pipe(55 filter(() => this.ngControl.disabled !== null),56 takeUntil(this.destroy$)57 )58 .subscribe(() => {59 this.disabled$.next(this.ngControl.disabled!);60 });61 }62 this.dir = this.directionality.value;63 this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {64 this.dir = direction;65 });66 }67 ngOnChanges(changes: SimpleChanges): void {68 const { disabled } = changes;69 if (disabled) {70 this.disabled$.next(this.disabled);71 }72 }73 ngOnDestroy(): void {74 this.destroy$.next();75 this.destroy$.complete();76 }...
nz-form-control.component.ts
Source:nz-form-control.component.ts
1import { Component, ContentChild, Input } from '@angular/core';2import { NgControl } from '@angular/forms';3import { toBoolean } from '../util/convert';4@Component({5 selector: '[nz-form-control]',6 template: `7 <div class="ant-form-item-control"8 [class.has-warning]="isWarning"9 [class.has-error]="isError"10 [class.has-success]="isSuccess"11 [class.has-feedback]="hasFeedBack"12 [class.is-validating]="isValidate">13 <ng-content></ng-content>14 </div>15 `,16 styles : [],17 host : {18 '[class.ant-form-item-control-wrapper]': 'true'19 }20})21export class NzFormControlComponent {22 private _hasFeedback = false;23 private _validateStatus: string | NgControl;24 @ContentChild(NgControl) ngControl: NgControl;25 @Input()26 set nzHasFeedback(value: boolean) {27 this._hasFeedback = toBoolean(value);28 }29 get nzHasFeedback(): boolean {30 return this._hasFeedback;31 }32 @Input()33 set nzValidateStatus(value: string | NgControl) {34 this._validateStatus = value;35 }36 get nzValidateStatus(): string | NgControl {37 return this._validateStatus || this.ngControl;38 }39 get isWarning(): boolean {40 return this.nzValidateStatus === 'warning' || this.nzValidateStatus && (this.nzValidateStatus as NgControl).dirty && (this.nzValidateStatus as NgControl).hasError && (this.nzValidateStatus as NgControl).hasError('warning');41 }42 get isValidate(): boolean {43 return this.nzValidateStatus === 'validating' || this.nzValidateStatus === 'pending' || this.nzValidateStatus && (this.nzValidateStatus as NgControl).dirty && (this.nzValidateStatus as NgControl).pending;44 }45 get isError(): boolean {46 return this.nzValidateStatus === 'error' || this.nzValidateStatus && (this.nzValidateStatus as NgControl).dirty && (this.nzValidateStatus as NgControl).errors && (this.nzValidateStatus as NgControl).hasError && !(this.nzValidateStatus as NgControl).hasError('warning');47 }48 get isSuccess(): boolean {49 return this.nzValidateStatus === 'success' || this.nzValidateStatus && (this.nzValidateStatus as NgControl).dirty && (this.nzValidateStatus as NgControl).valid;50 }51 get hasFeedBack(): boolean {52 return this.nzHasFeedback;53 }...
enable-control.directive.ts
Source:enable-control.directive.ts
1import { Directive, Input } from '@angular/core';2import { NgControl } from '@angular/forms';3@Directive({4 selector: '[appEnableControl]'5})6export class EnableControlDirective {7 @Input() set appEnableControl(condition: boolean) {8 if (this.ngControl) {9 if (this.ngControl.control) {10 if (condition) {11 this.ngControl.control.enable();12 } else {13 this.ngControl.control.disable();14 }15 }16 }17 }18 constructor(private ngControl: NgControl) { }...
Using AI Code Generation
1import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';2import { AppComponent } from './app.component';3describe('AppComponent', () => {4 beforeEach(() => MockBuilder(AppComponent));5 it('should create the app', () => {6 const fixture = MockRender(AppComponent);7 const app = fixture.point.componentInstance;8 expect(app).toBeTruthy();9 });10 it('should have as title "test"', () => {11 const fixture = MockRender(AppComponent);12 const app = fixture.point.componentInstance;13 const title = ngMocks.find('h1').nativeElement.textContent;14 expect(title).toEqual('test');15 });16 it('should render title in a h1 tag', () => {17 const fixture = MockRender(AppComponent);18 expect(fixture.nativeElement.querySelector('h1').textContent).toContain('test');19 });20});21import { Component } from '@angular/core';22@Component({23})24export class AppComponent {25 title = 'test';26}27 {{title}}28/* You can add global styles to this file, and also import other style files */29h1 {30 color: #369;31 font-family: Arial, Helvetica, sans-serif;32 font-size: 250%;33}34import { TestBed, async } from '@angular/core/testing';35import { RouterTestingModule } from '@angular/router/testing';36import { AppComponent } from './app.component';37describe('AppComponent', () => {38 beforeEach(async(() => {39 TestBed.configureTestingModule({40 imports: [41 }).compileComponents();42 }));43 it('should create the app', () => {44 const fixture = TestBed.createComponent(AppComponent);45 const app = fixture.componentInstance;46 expect(app).toBeTruthy();47 });48 it(`should have as title 'test'`, () => {49 const fixture = TestBed.createComponent(AppComponent);50 const app = fixture.componentInstance;51 expect(app.title).toEqual('test');52 });53 it('should render title in a h1 tag', () => {54 const fixture = TestBed.createComponent(AppComponent);55 fixture.detectChanges();56 const compiled = fixture.nativeElement;57 expect(compiled.querySelector('h1
Using AI Code Generation
1import { NgControl } from '@angular/forms';2import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';3import { TestComponent } from './test.component';4describe('TestComponent', () => {5 beforeEach(() => MockBuilder(TestComponent));6 it('should create', () => {7 const fixture = MockRender(TestComponent);8 const component = fixture.point.componentInstance;9 const ngControl = ngMocks.findInstance(NgControl, component);10 expect(ngControl).toBeDefined();11 });12});13import { Component, OnInit } from '@angular/core';14import { NgControl } from '@angular/forms';15@Component({16})17export class TestComponent implements OnInit {18 constructor(public ngControl: NgControl) { }19 ngOnInit() {20 }21}22.form-control {23 width: 100%;24}
Using AI Code Generation
1import { MockBuilder } from 'ng-mocks';2import { AppModule } from './app.module';3import { AppComponent } from './app.component';4describe('AppComponent', () => {5 beforeEach(() => MockBuilder(AppComponent, AppModule));6 it('should create the app', () => {7 const fixture = MockRender(AppComponent);8 expect(fixture.point.componentInstance).toBeTruthy();9 });10});11import { Component } from '@angular/core';12@Component({13 <input type="text" id="input" [(ngModel)]="name" />14 <button id="button" (click)="onButtonClick()">Click me</button>15})16export class AppComponent {17 name = 'John Doe';18 onButtonClick() {19 console.log('Button clicked');20 }21}
Using AI Code Generation
1import { NgControl } from '@angular/forms';2import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';3import { NgControl } from '@angular/forms';4import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';5import { NgControl } from '@angular/forms';6import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';7import { NgControl } from '@angular/forms';8import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';9import { NgControl } from '@angular/forms';10import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';11import { NgControl } from '@angular/forms';12import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';13import { NgControl } from '@angular/forms';14import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';15import { NgControl } from '@angular/forms';16import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';17import { NgControl } from '@angular/forms';18import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';19import { NgControl } from '@angular/forms';20import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';21import { NgControl } from '@angular/forms';22import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';23import { NgControl } from '@angular/forms';24import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';25import { NgControl } from '@angular/forms';26import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';
Using AI Code Generation
1import { ControlValueAccessor } from '@angular/forms';2import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';3@Component({4 <input type="text" [(ngModel)]="value" />5})6class TestComponent {7 public value = 'test';8}9describe('TestComponent', () => {10 beforeEach(() => MockBuilder(TestComponent));11 it('should use ngMocks', () => {12 const fixture = MockRender(TestComponent);13 const input = ngMocks.find('input');14 const component = ngMocks.findInstance(TestComponent);15 ngMocks.control(input).value = 'test2';16 fixture.detectChanges();17 expect(component.value).toEqual('test2');18 });19});20import { Component } from '@angular/core';21import { ComponentFixture, TestBed } from '@angular/core/testing';22import { FormsModule, ReactiveFormsModule } from '@angular/forms';23@Component({24 <input type="text" [(ngModel)]="value" />25})26class TestComponent {27 public value = 'test';28}29describe('TestComponent', () => {30 let component: TestComponent;31 let fixture: ComponentFixture<TestComponent>;32 beforeEach(async () => {33 await TestBed.configureTestingModule({34 imports: [FormsModule, ReactiveFormsModule],35 }).compileComponents();36 });37 beforeEach(() => {38 fixture = TestBed.createComponent(TestComponent);39 component = fixture.componentInstance;40 fixture.detectChanges();41 });42 it('should use @angular/forms', () => {43 const input = fixture.nativeElement.querySelector('input');44 input.value = 'test2';45 input.dispatchEvent(new Event('input'));46 fixture.detectChanges();47 expect(component.value).toEqual('test2');48 });49});
Using AI Code Generation
1import { TestBed } from '@angular/core/testing';2import { NgControl } from '@angular/forms';3import { MockBuilder, MockRender } from 'ng-mocks';4import { Component } from '@angular/core';5import { AppModule } from './app.module';6@Component({7 <input type="text" [(ngModel)]="inputValue" />8})9class TestComponent {10 inputValue: string;11}12describe('TestComponent', () => {13 beforeEach(() => MockBuilder(TestComponent, AppModule));14 it('should create', () => {15 const fixture = MockRender(TestComponent);16 const ngControl = NgControl.find(fixture.debugElement);17 expect(ngControl).toBeTruthy();18 });19});20import { TestBed } from '@angular/core/testing';21import { NgControl } from '@angular/forms';22import { MockBuilder, MockRender } from 'ng-mocks';23import { Component } from '@angular/core';24import { AppModule } from './app.module';25@Component({26 <input type="text" [(ngModel)]="inputValue" />27})28class TestComponent {29 inputValue: string;30}31describe('TestComponent', () => {32 beforeEach(() => MockBuilder(TestComponent, AppModule));33 it('should create', () => {34 const fixture = MockRender(TestComponent);35 const ngControl = NgControl.find(fixture.debugElement);36 expect(ngControl).toBeTruthy();37 });38});39import { TestBed } from '@angular/core/testing';40import { NgControl } from '@angular/forms';41import { MockBuilder, MockRender } from 'ng-mocks';42import { Component } from '@angular/core';43import { AppModule } from './app.module';44@Component({45 <input type="text" [(ngModel)]="inputValue" />46})47class TestComponent {48 inputValue: string;49}50describe('TestComponent', () => {51 beforeEach(()
Using AI Code Generation
1import { mockNgControl } from 'ng-mocks';2import { NgControl } from '@angular/forms';3import { TestBed } from '@angular/core/testing';4import { Component } from '@angular/core';5import { By } from '@angular/platform-browser';6@Component({7})8class TestComponent {9 public control = mockNgControl();10}11describe('TestComponent', () => {12 beforeEach(() => TestBed.configureTestingModule({13 }));14 it('should work', () => {15 const fixture = TestBed.createComponent(TestComponent);16 fixture.detectChanges();17 const input = fixture.debugElement.query(By.css('input'));18 const control = input.injector.get<NgControl>(NgControl);19 expect(control).toBe(fixture.componentInstance.control);20 });21});22import { mockNgControl } from 'ng-mocks';23describe('TestComponent', () => {24 beforeEach(() => {25 mockNgControl();26 });27 it('should work', () => {28 expect(true).toBe(true);29 });30});
Using AI Code Generation
1import { ngMocks } from 'ng-mocks';2const fixture = ngMocks.findInstance(MyComponent);3const control = ngMocks.findInstance(MyComponent, ngControl);4import { ngMocks } from 'ng-mocks';5const fixture = ngMocks.findInstance(MyComponent);6const control = ngMocks.findInstance(MyComponent, ngMocks.control);7import { ngMocks } from 'ng-mocks';8const fixture = ngMocks.findInstance(MyComponent);9const control = ngMocks.findInstance(MyComponent, ngMocks.control);
Using AI Code Generation
1import { ngMocks } from 'ng-mocks';2const component = ngMocks.findInstance(MyComponent);3const control = ngMocks.findInstance(MyComponent, ngControl);4import { MockBuilder } from 'ng-mocks';5const component = MockBuilder(MyComponent);6const control = MockBuilder(MyComponent, ngControl);7import { ngMocks } from 'ng-mocks';8const component = ngMocks.findInstance(MyComponent);9const control = ngMocks.findInstance(MyComponent, ngControl);10import { MockBuilder } from 'ng-mocks';11const component = MockBuilder(MyComponent);12const control = MockBuilder(MyComponent, ngControl);13import { ngMocks } from 'ng-mocks';14const component = ngMocks.findInstance(MyComponent);15const control = ngMocks.findInstance(MyComponent, ngControl);16import { MockBuilder } from 'ng-mocks';17const component = MockBuilder(MyComponent);18const control = MockBuilder(MyComponent, ngControl);19import { ngMocks } from 'ng-mocks';20const component = ngMocks.findInstance(MyComponent);21const control = ngMocks.findInstance(MyComponent, ngControl);22import { MockBuilder } from 'ng-mocks';23const component = MockBuilder(MyComponent);24const control = MockBuilder(MyComponent, ngControl);25import { ngMocks } from 'ng-mocks';26const component = ngMocks.findInstance(MyComponent);27const control = ngMocks.findInstance(MyComponent, ngControl);28import { MockBuilder } from 'ng-mocks';29const component = MockBuilder(MyComponent);30const control = MockBuilder(MyComponent, ngControl);31import { ngMocks } from 'ng-mocks';32const component = ngMocks.findInstance(MyComponent);33const control = ngMocks.findInstance(My
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!