Best JavaScript code snippet using ng-mocks
index.test.js
Source:index.test.js
1/**2 * Copyright 2017, Google, Inc.3 * Licensed under the Apache License, Version 2.0 (the "License");4 * you may not use this file except in compliance with the License.5 * You may obtain a copy of the License at6 *7 * http://www.apache.org/licenses/LICENSE-2.08 *9 * Unless required by applicable law or agreed to in writing, software10 * distributed under the License is distributed on an "AS IS" BASIS,11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12 * See the License for the specific language governing permissions and13 * limitations under the License.14 */15'use strict';16const Buffer = require('safe-buffer').Buffer;17const proxyquire = require(`proxyquire`).noCallThru();18const sinon = require(`sinon`);19const test = require(`ava`);20const tools = require(`@google-cloud/nodejs-repo-tools`);21function getSample () {22 const requestPromise = sinon.stub().returns(new Promise((resolve) => resolve(`test`)));23 return {24 sample: proxyquire(`../`, {25 'request-promise': requestPromise26 }),27 mocks: {28 requestPromise: requestPromise29 }30 };31}32function getMocks () {33 const req = {34 headers: {},35 get: function (header) {36 return this.headers[header];37 }38 };39 sinon.spy(req, `get`);40 const corsPreflightReq = {41 method: 'OPTIONS'42 };43 const corsMainReq = {44 method: 'GET'45 };46 return {47 req: req,48 corsPreflightReq: corsPreflightReq,49 corsMainReq: corsMainReq,50 res: {51 set: sinon.stub().returnsThis(),52 send: sinon.stub().returnsThis(),53 json: sinon.stub().returnsThis(),54 end: sinon.stub().returnsThis(),55 status: sinon.stub().returnsThis()56 }57 };58}59test.beforeEach(tools.stubConsole);60test.afterEach.always(tools.restoreConsole);61test.serial(`http:helloHttp: should handle GET`, (t) => {62 const mocks = getMocks();63 const httpSample = getSample();64 mocks.req.method = `GET`;65 httpSample.sample.helloHttp(mocks.req, mocks.res);66 t.true(mocks.res.status.calledOnce);67 t.is(mocks.res.status.firstCall.args[0], 200);68 t.true(mocks.res.send.calledOnce);69 t.is(mocks.res.send.firstCall.args[0], `Hello World!`);70});71test.serial(`http:helloHttp: should handle PUT`, (t) => {72 const mocks = getMocks();73 const httpSample = getSample();74 mocks.req.method = `PUT`;75 httpSample.sample.helloHttp(mocks.req, mocks.res);76 t.true(mocks.res.status.calledOnce);77 t.is(mocks.res.status.firstCall.args[0], 403);78 t.true(mocks.res.send.calledOnce);79 t.is(mocks.res.send.firstCall.args[0], `Forbidden!`);80});81test.serial(`http:helloHttp: should handle other methods`, (t) => {82 const mocks = getMocks();83 const httpSample = getSample();84 mocks.req.method = `POST`;85 httpSample.sample.helloHttp(mocks.req, mocks.res);86 t.true(mocks.res.status.calledOnce);87 t.is(mocks.res.status.firstCall.args[0], 405);88 t.true(mocks.res.send.calledOnce);89 t.deepEqual(mocks.res.send.firstCall.args[0], { error: `Something blew up!` });90});91test.serial(`http:helloContent: should handle application/json`, (t) => {92 const mocks = getMocks();93 const httpSample = getSample();94 mocks.req.headers[`content-type`] = `application/json`;95 mocks.req.body = { name: `John` };96 httpSample.sample.helloContent(mocks.req, mocks.res);97 t.true(mocks.res.status.calledOnce);98 t.is(mocks.res.status.firstCall.args[0], 200);99 t.true(mocks.res.send.calledOnce);100 t.deepEqual(mocks.res.send.firstCall.args[0], `Hello John!`);101});102test.serial(`http:helloContent: should handle application/octet-stream`, (t) => {103 const mocks = getMocks();104 const httpSample = getSample();105 mocks.req.headers[`content-type`] = `application/octet-stream`;106 mocks.req.body = Buffer.from(`John`);107 httpSample.sample.helloContent(mocks.req, mocks.res);108 t.true(mocks.res.status.calledOnce);109 t.is(mocks.res.status.firstCall.args[0], 200);110 t.true(mocks.res.send.calledOnce);111 t.deepEqual(mocks.res.send.firstCall.args[0], `Hello John!`);112});113test.serial(`http:helloContent: should handle text/plain`, (t) => {114 const mocks = getMocks();115 const httpSample = getSample();116 mocks.req.headers[`content-type`] = `text/plain`;117 mocks.req.body = `John`;118 httpSample.sample.helloContent(mocks.req, mocks.res);119 t.true(mocks.res.status.calledOnce);120 t.is(mocks.res.status.firstCall.args[0], 200);121 t.true(mocks.res.send.calledOnce);122 t.deepEqual(mocks.res.send.firstCall.args[0], `Hello John!`);123});124test.serial(`http:helloContent: should handle application/x-www-form-urlencoded`, (t) => {125 const mocks = getMocks();126 const httpSample = getSample();127 mocks.req.headers[`content-type`] = `application/x-www-form-urlencoded`;128 mocks.req.body = { name: `John` };129 httpSample.sample.helloContent(mocks.req, mocks.res);130 t.true(mocks.res.status.calledOnce);131 t.is(mocks.res.status.firstCall.args[0], 200);132 t.true(mocks.res.send.calledOnce);133 t.deepEqual(mocks.res.send.firstCall.args[0], `Hello John!`);134});135test.serial(`http:helloContent: should handle other`, (t) => {136 const mocks = getMocks();137 const httpSample = getSample();138 httpSample.sample.helloContent(mocks.req, mocks.res);139 t.true(mocks.res.status.calledOnce);140 t.is(mocks.res.status.firstCall.args[0], 200);141 t.true(mocks.res.send.calledOnce);142 t.deepEqual(mocks.res.send.firstCall.args[0], `Hello World!`);143});144test.serial(`http:helloContent: should escape XSS`, (t) => {145 const mocks = getMocks();146 const httpSample = getSample();147 mocks.req.headers[`content-type`] = `text/plain`;148 mocks.req.body = { name: `<script>alert(1)</script>` };149 httpSample.sample.helloContent(mocks.req, mocks.res);150 t.true(mocks.res.status.calledOnce);151 t.is(mocks.res.status.firstCall.args[0], 200);152 t.true(mocks.res.send.calledOnce);153 t.false(mocks.res.send.firstCall.args[0].includes('<script>'));154});155test.serial(`http:cors: should respond to preflight request (no auth)`, (t) => {156 const mocks = getMocks();157 const httpSample = getSample();158 httpSample.sample.corsEnabledFunction(mocks.corsPreflightReq, mocks.res);159 t.true(mocks.res.status.calledOnceWith(204));160 t.true(mocks.res.send.called);161});162test.serial(`http:cors: should respond to main request (no auth)`, (t) => {163 const mocks = getMocks();164 const httpSample = getSample();165 httpSample.sample.corsEnabledFunction(mocks.corsMainReq, mocks.res);166 t.true(mocks.res.send.calledOnceWith(`Hello World!`));167});168test.serial(`http:cors: should respond to preflight request (auth)`, (t) => {169 const mocks = getMocks();170 const httpSample = getSample();171 httpSample.sample.corsEnabledFunctionAuth(mocks.corsPreflightReq, mocks.res);172 t.true(mocks.res.status.calledOnceWith(204));173 t.true(mocks.res.send.calledOnce);174});175test.serial(`http:cors: should respond to main request (auth)`, (t) => {176 const mocks = getMocks();177 const httpSample = getSample();178 httpSample.sample.corsEnabledFunctionAuth(mocks.corsMainReq, mocks.res);179 t.true(mocks.res.send.calledOnceWith(`Hello World!`));...
Using AI Code Generation
1import { MockBuilder, MockRender } 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 const app = fixture.debugElement.componentInstance;9 expect(app).toBeTruthy();10 });11});12import { NgModule } from '@angular/core';13import { BrowserModule } from '@angular/platform-browser';14import { AppComponent } from './app.component';15@NgModule({16 imports: [BrowserModule],17})18export class AppModule {}19import { Component } from '@angular/core';20@Component({21})22export class AppComponent {23 name = 'Angular';24}25<h1>Hello {{name}}</h1>26h1 {27 font-family: Lato;28}29import { TestBed, async } from '@angular/core/testing';30import { AppComponent } from './app.component';31describe('AppComponent', () => {32 beforeEach(async(() => {33 TestBed.configureTestingModule({34 }).compileComponents();35 }));36 it('should create the app', () => {37 const fixture = TestBed.createComponent(AppComponent);38 const app = fixture.debugElement.componentInstance;39 expect(app).toBeTruthy();40 });41 it(`should have as title 'angular'`, () => {42 const fixture = TestBed.createComponent(AppComponent);43 const app = fixture.debugElement.componentInstance;44 expect(app.name).toEqual('Angular');45 });46 it('should render title in a h1 tag', () => {47 const fixture = TestBed.createComponent(AppComponent);48 fixture.detectChanges();49 const compiled = fixture.debugElement.nativeElement;50 expect(compiled.querySelector('h1').textContent).toContain(51 );52 });53});
Using AI Code Generation
1import { MockBuilder, MockRender } from 'ng-mocks';2import { AppModule } from './app.module';3describe('AppComponent', () => {4 beforeEach(() => MockBuilder(AppComponent, AppModule));5 it('should create the app', () => {6 const fixture = MockRender(AppComponent);7 const app = fixture.debugElement.componentInstance;8 expect(app).toBeTruthy();9 });10});11import { MockBuilder, MockRender } from 'ng-mocks';12import { AppModule } from './app.module';13describe('AppComponent', () => {14 beforeEach(() => MockBuilder(AppComponent, AppModule));15 it('should create the app', () => {16 const fixture = MockRender(AppComponent);17 const app = fixture.debugElement.componentInstance;18 expect(app).toBeTruthy();19 });20});21import { MockBuilder, MockRender } from 'ng-mocks';22import { AppModule } from './app.module';23describe('AppComponent', () => {24 beforeEach(() => MockBuilder(AppComponent, AppModule));25 it('should create the app', () => {26 const fixture = MockRender(AppComponent);27 const app = fixture.debugElement.componentInstance;28 expect(app).toBeTruthy();29 });30});31import { MockBuilder, MockRender } from 'ng-mocks';32import { AppModule } from './app.module';33describe('AppComponent', () => {34 beforeEach(() => MockBuilder(AppComponent, AppModule));35 it('should create the app', () => {36 const fixture = MockRender(AppComponent);37 const app = fixture.debugElement.componentInstance;38 expect(app).toBeTruthy();39 });40});41import { MockBuilder, MockRender } from 'ng-mocks';42import { AppModule } from './app.module';43describe('AppComponent', () => {44 beforeEach(() => MockBuilder(AppComponent, AppModule));45 it('should create the app', () => {46 const fixture = MockRender(AppComponent);47 const app = fixture.debugElement.componentInstance;48 expect(app).toBeTruthy();49 });50});51import { MockBuilder, MockRender } from 'ng-mocks';52import { AppModule } from './app.module';53describe('AppComponent', () => {54 beforeEach(() => MockBuilder(AppComponent, AppModule));55 it('should create the app', () => {56 const fixture = MockRender(AppComponent);
Using AI Code Generation
1import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';2import { AppComponent } from './app.component';3import { AppModule } from './app.module';4describe('AppComponent', () => {5 beforeEach(() => MockBuilder(AppComponent, AppModule));6 beforeEach(() => MockRender(AppComponent));7 it('should create the app', () => {8 const fixture = ngMocks.find(AppComponent);9 const app = fixture.componentInstance;10 expect(app).toBeTruthy();11 });12});13import 'zone.js/dist/zone-testing';14import { getTestBed } from '@angular/core/testing';15import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';16getTestBed().initTestEnvironment(17 platformBrowserDynamicTesting()18);19module.exports = function (config) {20 config.set({21 require('karma-jasmine'),22 require('karma-chrome-launcher'),23 require('karma-jasmine-html-reporter'),24 require('karma-coverage-istanbul-reporter'),25 require('@angular-devkit/build-angular/plugins/karma')26 client: {27 },28 coverageIstanbulReporter: {29 dir: require('path').join(__dirname, './coverage/ng-mocks'),30 },31 });32};33{34 "scripts": {
Using AI Code Generation
1var ngMocks = require('ng-mocks');2var myModuleMock = ngMocks.module('myModule');3var myServiceMock = ngMocks.service('myService');4var myControllerMock = ngMocks.controller('myController');5var myDirectiveMock = ngMocks.directive('myDirective');6var myFilterMock = ngMocks.filter('myFilter');7var myFactoryMock = ngMocks.factory('myFactory');8var myProviderMock = ngMocks.provider('myProvider');9var myValueMock = ngMocks.value('myValue');10var myConstantMock = ngMocks.constant('myConstant');11var myDecoratorMock = ngMocks.decorator('myDecorator');12var myAnimationMock = ngMocks.animation('myAnimation');13var myRunMock = ngMocks.run('myRun');14var myConfigMock = ngMocks.config('myConfig');15var myComponentMock = ngMocks.component('myComponent');
Using AI Code Generation
1import { mock } from 'ng-mocks';2const mockComponent = mock(YourComponent);3const mockDirective = mock(YourDirective);4const mockService = mock(YourService);5const mockPipe = mock(YourPipe);6const mockModule = mock(YourModule);7const mockComponent = mock(YourComponent, {inputs: {yourInput: 'yourValue'}});8const mockDirective = mock(YourDirective, {inputs: {yourInput: 'yourValue'}});9const mockPipe = mock(YourPipe, {inputs: {yourInput: 'yourValue'}});10const mockModule = mock(YourModule, {inputs: {yourInput: 'yourValue'}});11const mockComponent = mock(YourComponent, {outputs: {yourOutput: () => {}}});12const mockDirective = mock(YourDirective, {outputs: {yourOutput: () => {}}});13const mockPipe = mock(YourPipe, {outputs: {yourOutput: () => {}}});14const mockModule = mock(YourModule, {outputs: {yourOutput: () => {}}});15const mockComponent = mock(YourComponent, {providers: [YourService]});16const mockDirective = mock(YourDirective, {providers: [YourService]});17const mockPipe = mock(YourPipe, {providers: [YourService]});18const mockModule = mock(YourModule, {providers: [YourService]});19const mockComponent = mock(YourComponent, {imports: [YourModule]});20const mockDirective = mock(YourDirective, {imports: [YourModule
Using AI Code Generation
1import { ngMocks } from 'ng-mocks';2const fixture = ngMocks.find('my-component');3const component = ngMocks.findInstance(fixture);4ngMocks.stub(component, 'method', 'stubbed');5ngMocks.stub(component, 'method').and.returnValue('stubbed');6ngMocks.stub(component, 'method').and.callThrough();7ngMocks.stub(component, 'method').and.callFake(() => 'stubbed');8ngMocks.stub(component, 'method').and.throwError('stubbed');9import 'jasmine';10jasmine.createSpy('spy');11jasmine.createSpyObj('spyObj', ['method1', 'method2']);12jasmine.createSpyObj('spyObj', { method1: 'returnValue', method2: 'returnValue' });13jasmine.createSpyObj('spyObj', { method1: () => 'returnValue', method2: () => 'returnValue' });14jasmine.createSpyObj('spyObj', { method1: () => 'returnValue', method2: () => 'returnValue' });15jasmine.createSpy('spy').and.returnValue('returnValue');16jasmine.createSpy('spy').and.callFake(() => 'returnValue');17jasmine.createSpy('spy').and.throwError('error');18jasmine.createSpy('spy').and.callThrough();19jasmine.createSpy('spy').and.stub();20import * as sinon from 'sinon';21sinon.spy();22sinon.spy(object, 'method');23sinon.stub();24sinon.stub(object, 'method');25sinon.stub(object, 'method', () => 'returnValue');26sinon.stub(object, 'method').returns('returnValue');27sinon.stub(object, 'method').throws('error');28sinon.stub(object, 'method').callsFake(() => 'returnValue');29sinon.stub(object, 'method').callsArg(0);30sinon.stub(object, 'method').callsArgOn(0, object);31sinon.stub(object, 'method').callsArgWith(0, 'arg1', 'arg2');32sinon.stub(object, 'method').callsArgOnWith(0, object, 'arg1', 'arg2');33sinon.stub(object, 'method').callsFake(() => 'returnValue');34sinon.stub(object, 'method').callsFake(() => 'returnValue');35sinon.stub(object, 'method').callsFake(()
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!!